diff --git a/scripts/debugdef.pl b/scripts/debugdef.pl deleted file mode 100755 index 24909666..00000000 --- a/scripts/debugdef.pl +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/perl -# debugdef.pl: avoid variadic debugging macros through automatic definitions - -# written by Thomas Orgis , placed in the public domain - -my $num = shift(@ARGV); - -print < -*/ - -#include "config.h" - -/* - I could do that with variadic macros available: - #define sdebug(me, s) fprintf(stderr, "[location] " s "\\n") - #define debug(me, s, ...) fprintf(stderr, "[location] " s "\}n", __VA_ARGS__) - - Variadic macros are a C99 feature... - Now just predefining stuff non-variadic for up to $num arguments. - It's cumbersome to have them all with different names, though... -*/ - -#ifdef ME -#define DBGPRFX ME": " -#else -#define DBGPRFX "" -#endif - -#ifdef DEBUG - -#include -EOT -printdefs(1); -print "#else\n"; -printdefs(0); -print "#endif\n"; - -foreach my $t ('warning', 'error', 'ereturn') -{ - print "\n/* $t macros also here... */\n"; - print "#ifndef NO_".uc($t)."\n"; - printdefs(1, $t); - print "#else\n"; - printdefs(0, $t); - print "#endif\n"; -} - -sub printdefs -{ - my $forreal = shift; - my $type = shift; - $type = 'debug' unless defined $type; - my $i; - my $pre = ''; my $post = ''; my $rv = ''; - my $notreal = ''; - if($type eq 'ereturn') - { - $pre = 'do{ '; - $post = '; return rv; }while(0)'; - $rv = 'rv, '; - $notreal = 'return rv'; - } - while(++$i <= $num+1) - { - my @args, my $j; - while(++$j < $i){ push(@args, chr(ord('a')+$j-1)); } - unshift(@args, '') if(@args); - print '#define '.$type.($i > 1 ? ($i-1) : '').'('.$rv.'s'; - print join(', ', @args).') '; - if($forreal){ print $pre.'fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] '.$type.': " s "\n", __LINE__'.join(', ', @args).")$post\n"; } - #else{ print "do {} while(0)\n"; } - else{ print "$notreal\n"; } - } -} - diff --git a/src/libmpg123/debug.h b/src/libmpg123/debug.h index 2ce362fd..e203c982 100644 --- a/src/libmpg123/debug.h +++ b/src/libmpg123/debug.h @@ -77,6 +77,9 @@ /* warning macros also here... */ #ifndef NO_WARNING + +#define mwarning(s, ...) fprintf(stderr, DBGPRFX "[" __FILE__ ":%i] warning: " s "\n", __LINE__, __VA_ARGS__) + #define warning(s) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] warning: " s "\n", __LINE__) #define warning1(s, a) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] warning: " s "\n", __LINE__, a) #define warning2(s, a, b) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b) @@ -94,6 +97,7 @@ #define warning14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n) #define warning15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] warning: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #else +#define mwarning(s, ...) #define warning(s) #define warning1(s, a) #define warning2(s, a, b) @@ -114,6 +118,9 @@ /* error macros also here... */ #ifndef NO_ERRORMSG + +#define merror(s, ...) fprintf(stderr, DBGPRFX "[" __FILE__ ":%i] error: " s "\n", __LINE__, __VA_ARGS__) + #define error(s) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] error: " s "\n", __LINE__) #define error1(s, a) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] error: " s "\n", __LINE__, a) #define error2(s, a, b) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b) @@ -131,6 +138,7 @@ #define error14(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n) #define error15(s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] error: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #else +#define merror(s, ...) #define error(s) #define error1(s, a) #define error2(s, a, b) @@ -151,6 +159,9 @@ /* ereturn macros also here... */ #ifndef NO_ERETURN + +#define mereturn(rv, s, ...) do{ fprintf(stderr, DBGPRFX "[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, __VA_ARGS__); return rv; }while(0) + #define ereturn(rv, s) do{ fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] ereturn: " s "\n", __LINE__); return rv; }while(0) #define ereturn1(rv, s, a) do{ fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a); return rv; }while(0) #define ereturn2(rv, s, a, b) do{ fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b); return rv; }while(0) @@ -168,6 +179,7 @@ #define ereturn14(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n) do{ fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n); return rv; }while(0) #define ereturn15(rv, s, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) do{ fprintf(stderr, DBGPRFX"[" __FILE__ ":%i] ereturn: " s "\n", __LINE__, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o); return rv; }while(0) #else +#define mereturn(rv, s, ...) return rv #define ereturn(rv, s) return rv #define ereturn1(rv, s, a) return rv #define ereturn2(rv, s, a, b) return rv