[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[screen-devel] debug patch
From: |
bill |
Subject: |
[screen-devel] debug patch |
Date: |
Fri, 23 Dec 2005 10:10:04 +0000 |
User-agent: |
Mozilla Thunderbird 1.0.7-1.1.fc3 (X11/20050929) |
Here's a patch to screen.h that puts file names and line numbers
on each line of the debug statements. I've been doing this for
a few weeks, but the easy implementation was putting
the __LINE__ and __FILE__ expansions in excessively,
since calls to the debug macros that didn't include a newline
would each get the data appended. I wasted about an hour this
morning playing with the macros so that doesn't happen, and thought
I'd share...
Common subdirectories: screen-4.0.2/doc and debug-screen-4.0.2/doc
Common subdirectories: screen-4.0.2/etc and debug-screen-4.0.2/etc
diff -u screen-4.0.2/screen.h debug-screen-4.0.2/screen.h
--- screen-4.0.2/screen.h 2003-08-22 13:28:43.000000000 +0100
+++ debug-screen-4.0.2/screen.h 2005-12-23 09:56:52.875671848 +0000
@@ -53,11 +53,15 @@
#ifdef DEBUG
# define DEBUGDIR "/tmp/debug"
+#define NEW_LINE(x) (*((x) + (strlen(x)-1))=='\n')
+#define META_FILE(x) (NEW_LINE(x))?__FILE__:""
+#define META_LINE(x) (NEW_LINE(x))?__LINE__:(int)""
+#define META_STRING(x) (NEW_LINE(x))?"%s %d: " x:"%s %s" x
# define debugf(a) do {if(dfp){fprintf a;fflush(dfp);}} while (0)
-# define debug(x) debugf((dfp,x))
-# define debug1(x,a) debugf((dfp,x,a))
-# define debug2(x,a,b) debugf((dfp,x,a,b))
-# define debug3(x,a,b,c) debugf((dfp,x,a,b,c))
+# define debug(x) debugf((dfp,META_STRING(x)
,META_FILE(x),META_LINE(x)))
+# define debug1(x,a) debugf((dfp,META_STRING(x)
,META_FILE(x),META_LINE(x),a))
+# define debug2(x,a,b) debugf((dfp,META_STRING(x)
,META_FILE(x),META_LINE(x),a,b))
+# define debug3(x,a,b,c) debugf((dfp,META_STRING(x)
,META_FILE(x),META_LINE(x),a,b,c))
extern FILE *dfp;
#else
# define debugf(a) do {} while (0)
Common subdirectories: screen-4.0.2/terminfo and debug-screen-4.0.2/terminfo
Common subdirectories: screen-4.0.2/utf8encodings and
debug-screen-4.0.2/utf8encodings
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [screen-devel] debug patch,
bill <=