Mercurial > hg
view mcabber/contrib/conv_log_dates.pl @ 430:d03663d2e7d9
Display error messages as specified in RFC3920 (9.3)
If possible, we display the child element corresponding to the stanza
error conditions defined in RFC3920. Error code and error text will
be displayed if available.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 11 Sep 2005 22:01:57 +0200 |
parents | c07fa9baca3f |
children |
line wrap: on
line source
#!/usr/bin/perl -w # # usage: conv_log_dates.pl historyfile.old > historyfile.new # Convert the dates to the new logfile format (mcabber v. >= 0.6.1) # # See histolog.c for the mcabber format. # # MiKael, 2005/06/14 use strict; my $line; my $linesleft = 0; while ($line = <>) { if ($linesleft) { print $line; $linesleft--; next; } my $type = substr($line, 0, 2); my $off_format = 0; my $date; if (substr($line, 11, 1) eq "T") { $off_format = 8; # Offset } if ($off_format) { # Already using the new format, nothing to do $date = substr($line, 3, 18); } else { # Date conversion to iso8601 my ($ss,$mm,$hh,$DD,$MM,$YYYY) = gmtime(substr($line, 3, 10)); $date = sprintf "%04d%02d%02dT%02d:%02d:%02dZ", $YYYY+1900, $MM+1,$DD,$hh,$mm,$ss; } $linesleft = substr($line, 14 + $off_format, 3); $line = substr($line, 14 + $off_format); print $type." ".$date." ".$line; # Is there something better to cast to integer? $linesleft = 0 + $linesleft; } # vim:set sw=2 sts=2 et si cinoptions="":