# HG changeset patch # User mikael@frmp8452 # Date 1120245903 -3600 # Node ID 594e73bc96105e2400b19faf743c21d0c3150088 # Parent 61fa5a19e3be2f9c77db3942589a67678fa83d34 Remove support for old logfile format Remove unnecessary complexity (2 date fomats). Scripts are available in contrib/ to convert the log files... diff -r 61fa5a19e3be -r 594e73bc9610 mcabber/src/histolog.c --- a/mcabber/src/histolog.c Thu Jun 30 23:19:33 2005 +0100 +++ b/mcabber/src/histolog.c Fri Jul 01 20:25:03 2005 +0100 @@ -119,9 +119,7 @@ FILE *fp; struct stat bufstat; guint err = 0; - guint oldformat; guint ln = 0; // line number - guint pleaseconvert = 0; if (!FileLoadLogs) return; @@ -146,8 +144,7 @@ /* See write_histo_line() for line format... */ while (!feof(fp)) { - int format_off = 0; - if (fgets(data, HBB_BLOCKSIZE+19+format_off, fp) == NULL) break; + if (fgets(data, HBB_BLOCKSIZE+27, fp) == NULL) break; ln++; for (tail = data; *tail; tail++) ; @@ -155,15 +152,9 @@ type = data[0]; info = data[1]; - // XXX Log format detection. We can read both old and new log formats - // To be removed in a future version - oldformat = (data[11] != 'T' || data[20] != 'Z'); - if (!oldformat) - format_off = 8; - if ((type != 'M' && type != 'S') || - (oldformat && ((data[13] != ' ') || (data[17] != ' '))) || - ((!oldformat) && ((data[21] != ' ') || (data[25] != ' ')))) { + ((data[11] != 'T') || (data[20] != 'Z') || + (data[21] != ' ') || (data[25] != ' '))) { if (!err) { scr_LogPrint("Error in history file format (%s), l.%u", jid, ln); err = 1; @@ -171,12 +162,9 @@ //break; continue; } - data[13+format_off] = data[17+format_off] = 0; - if (oldformat) - timestamp = (unsigned long) atol(&data[3]); - else - timestamp = from_iso8601(&data[3], 1); - len = (unsigned long) atol(&data[14+format_off]); + data[21] = data[25] = 0; + timestamp = from_iso8601(&data[3], 1); + len = (guint) atoi(&data[22]); // Some checks if (((type == 'M') && (info != 'S' && info != 'R')) || @@ -192,38 +180,33 @@ // XXX This will fail when a message is too big while (len--) { ln++; - if (fgets(tail, HBB_BLOCKSIZE+19+format_off - (tail-data), fp) == NULL) + if (fgets(tail, HBB_BLOCKSIZE+27 - (tail-data), fp) == NULL) break; while (*tail) tail++; } // Small check for too long messages - if (tail >= HBB_BLOCKSIZE+18+format_off + data) { + if (tail >= HBB_BLOCKSIZE+26 + data) { // Maybe we will have a parse error on next, because this // message is big (maybe too big). scr_LogPrint("A message could be too big in history file..."); } // Remove last CR (we keep it if the line is empty, too) - if ((tail > data+18+format_off) && (*(tail-1) == '\n')) + if ((tail > data+26) && (*(tail-1) == '\n')) *(tail-1) = 0; - if (oldformat) - pleaseconvert = 1; - if (type == 'M') { if (info == 'S') prefix_flags = HBB_PREFIX_OUT; else prefix_flags = HBB_PREFIX_IN; - hbuf_add_line(p_buddyhbuf, &data[18+format_off], timestamp, + hbuf_add_line(p_buddyhbuf, &data[26], timestamp, prefix_flags, width); err = 0; } } fclose(fp); g_free(data); - if (pleaseconvert) - scr_LogPrint("Please convert your history files to the new format!"); } // hlog_enable()