]> git.llucax.com Git - software/mutt-debian.git/blob - debian/patches/misc/hg.pmdef.debugtime
now the patch is clean, it was pretty messed up before
[software/mutt-debian.git] / debian / patches / misc / hg.pmdef.debugtime
1 see http://bugs.mutt.org/3263, this patch adds time/date to
2 the entries in .muttdebug so it will be easier to correlate them
3 to external events logged in tcpdump streams or logfiles
4
5 --- a/init.c
6 +++ b/init.c
7 @@ -2846,8 +2846,8 @@
8    {
9      t = time (0);
10      setbuf (debugfile, NULL); /* don't buffer the debugging output! */
11 -    fprintf (debugfile, "Mutt %s started at %s.\nDebugging at level %d.\n\n",
12 -            MUTT_VERSION, asctime (localtime (&t)), debuglevel);
13 +    dprint(1,(debugfile,"Mutt/%s (%s) debugging at level %d\n",
14 +             MUTT_VERSION, ReleaseDate, debuglevel));
15    }
16  }
17  #endif
18 --- a/lib.c
19 +++ b/lib.c
20 @@ -1007,6 +1007,24 @@
21    return sysexits_h[i].str;
22  }
23  
24 +void mutt_debug (FILE *fp, const char *fmt, ...)
25 +{
26 +  va_list ap;
27 +  time_t now = time (NULL);
28 +  static char buf[23] = "";
29 +  static time_t last = 0;
30 +
31 +  if (now > last)
32 +  {
33 +    strftime (buf, sizeof (buf), "%Y-%m-%d %H:%M:%S", localtime (&now));
34 +    last = now;
35 +  }
36 +  fprintf (fp, "[%s] ", buf);
37 +  va_start (ap, fmt);
38 +  vfprintf (fp, fmt, ap);
39 +  va_end (ap);
40 +}
41 +
42  int mutt_atos (const char *str, short *dst)
43  {
44    int rc;
45 --- a/lib.h
46 +++ b/lib.h
47 @@ -126,7 +126,9 @@
48  MUTT_LIB_WHERE FILE *debugfile MUTT_LIB_INITVAL(0);
49  MUTT_LIB_WHERE int debuglevel MUTT_LIB_INITVAL(0);
50  
51 -#  define dprint(N,X) do { if(debuglevel>=N && debugfile) fprintf X; } while (0)
52 +void mutt_debug (FILE *, const char *, ...);
53 +
54 +#  define dprint(N,X) do { if(debuglevel>=N && debugfile) mutt_debug X; } while (0)
55  
56  # else
57