diff options
Diffstat (limited to 'vchat-ui.c')
-rwxr-xr-x | vchat-ui.c | 38 |
1 files changed, 14 insertions, 24 deletions
@@ -294,11 +294,8 @@ int writechan (unsigned char *str) { | |||
294 | time_t now = time(NULL); | 294 | time_t now = time(NULL); |
295 | tmp = sb_add(sb_pub,str,now); | 295 | tmp = sb_add(sb_pub,str,now); |
296 | 296 | ||
297 | if( getintoption( CF_KEEPLOG ) && vchat_logfile ) { | 297 | if( getintoption( CF_KEEPLOG ) && vchat_logfile ) |
298 | char date[16]; | 298 | fprintf( vchat_logfile, "%016llX0%s\n", (signed long long)now, str); |
299 | strftime( date, sizeof(date), "%Y%m%d%H%M%S", localtime(&now)); | ||
300 | fprintf( vchat_logfile, "%s0%s\n", date, str); | ||
301 | } | ||
302 | 299 | ||
303 | if ( (sb_pub->scroll == sb_pub->count) && ((filtertype == 0) || ( testfilter(tmp)))) { | 300 | if ( (sb_pub->scroll == sb_pub->count) && ((filtertype == 0) || ( testfilter(tmp)))) { |
304 | i = writescr(channel, tmp); | 301 | i = writescr(channel, tmp); |
@@ -315,11 +312,8 @@ int writecf (formtstr id,unsigned char *str) { | |||
315 | snprintf(tmpstr,TMPSTRSIZE,getformatstr(id),str); | 312 | snprintf(tmpstr,TMPSTRSIZE,getformatstr(id),str); |
316 | tmp = sb_add(sb_pub,tmpstr,now); | 313 | tmp = sb_add(sb_pub,tmpstr,now); |
317 | 314 | ||
318 | if( getintoption( CF_KEEPLOG ) && vchat_logfile ) { | 315 | if( getintoption( CF_KEEPLOG ) && vchat_logfile ) |
319 | char date[16]; | 316 | fprintf( vchat_logfile, "%016llX0%s\n", (unsigned long long)now, tmpstr); |
320 | strftime( date, sizeof(date), "%Y%m%d%H%M%S", localtime(&now)); | ||
321 | fprintf( vchat_logfile, "%s0%s\n", date, tmpstr); | ||
322 | } | ||
323 | 317 | ||
324 | if ( (sb_pub->scroll == sb_pub->count) && | 318 | if ( (sb_pub->scroll == sb_pub->count) && |
325 | ((filtertype == 0) || ( testfilter(tmp)))) { | 319 | ((filtertype == 0) || ( testfilter(tmp)))) { |
@@ -339,9 +333,7 @@ int writepriv (unsigned char *str) { | |||
339 | tmp = sb_add(sb_priv,str,now); | 333 | tmp = sb_add(sb_priv,str,now); |
340 | 334 | ||
341 | if( getintoption( CF_KEEPLOG ) && vchat_logfile ) { | 335 | if( getintoption( CF_KEEPLOG ) && vchat_logfile ) { |
342 | char date[16]; | 336 | fprintf( vchat_logfile, "%016llX1%s\n", (unsigned long long)now, str); |
343 | strftime( date, sizeof(date), "%Y%m%d%H%M%S", localtime(&now)); | ||
344 | fprintf( vchat_logfile, "%s1%s\n", date, str); | ||
345 | } | 337 | } |
346 | 338 | ||
347 | if ( !privwinhidden && (sb_priv->scroll == sb_priv->count) && | 339 | if ( !privwinhidden && (sb_priv->scroll == sb_priv->count) && |
@@ -1272,24 +1264,22 @@ initui (void) | |||
1272 | logfile = tilde_expand( logfile ); | 1264 | logfile = tilde_expand( logfile ); |
1273 | vchat_logfile = fopen( logfile, "r+" ); | 1265 | vchat_logfile = fopen( logfile, "r+" ); |
1274 | if( vchat_logfile ) { | 1266 | if( vchat_logfile ) { |
1275 | char date[16]; | 1267 | time_t now; |
1276 | time_t now; struct tm now_tm; | 1268 | long long now_; |
1277 | int dst, lenstr; | 1269 | char dst; |
1270 | int lenstr; | ||
1278 | while( !feof( vchat_logfile)) { | 1271 | while( !feof( vchat_logfile)) { |
1279 | if( (fread( date, 14, 1, vchat_logfile) == 1) && | 1272 | if( (fscanf( vchat_logfile, "%016llX%c", (unsigned long long*)&now_, &dst)) && |
1280 | (strptime( date, "%Y%m%d%H%M%S", &now_tm)) && | 1273 | ((dst == '0') || (dst == '1'))) |
1281 | (((dst = fgetc( vchat_logfile )) == '0') || (dst == '1'))) | ||
1282 | { | 1274 | { |
1275 | now = (time_t)now_; | ||
1283 | if(fgets(tmpstr, TMPSTRSIZE, vchat_logfile)) { | 1276 | if(fgets(tmpstr, TMPSTRSIZE, vchat_logfile)) { |
1284 | lenstr = strlen( tmpstr ); | 1277 | lenstr = strlen( tmpstr ); |
1285 | tmpstr[lenstr-1] = '\0'; | 1278 | tmpstr[lenstr-1] = '\0'; |
1286 | now = mktime( &now_tm ); | ||
1287 | sb_add( dst == '0' ? sb_pub : sb_priv, tmpstr, now); | 1279 | sb_add( dst == '0' ? sb_pub : sb_priv, tmpstr, now); |
1288 | } | 1280 | } |
1289 | } else { | 1281 | } else |
1290 | fseek( vchat_logfile, 0, SEEK_END); | 1282 | while( !feof( vchat_logfile) && ( fgetc( vchat_logfile ) != '\n')); |
1291 | fgetc( vchat_logfile ); | ||
1292 | } | ||
1293 | } | 1283 | } |
1294 | } | 1284 | } |
1295 | } | 1285 | } |