Blob Blame History Raw
Fix -Werror=format-security errors
Also fix incorrect printf() format specifiers
https://bugs.gentoo.org/show_bug.cgi?id=520988

* gen.c: In function 'genHdr':
* gen.c:3869:17: error: format not a string literal and no format arguments [-Werror=format-security]

--- cdrdao-1.2.4/pccts/antlr/bits.c
+++ cdrdao-1.2.4/pccts/antlr/bits.c
@@ -574,13 +574,13 @@
 	else
 		fprintf(DefFile, "extern SetWordType zzerr%d[];\n", esetnum);
 	if ( name!=NULL ) {
-		fprintf(ErrFile, "SetWordType %s%s[%d] = {",
+		fprintf(ErrFile, "SetWordType %s%s[%lu] = {",
 				name,
                 suffix,
 				NumWords(TokenNum-1)*sizeof(unsigned));
 	}
 	else {
-		fprintf(ErrFile, "SetWordType zzerr%d[%d] = {",
+		fprintf(ErrFile, "SetWordType zzerr%d[%lu] = {",
 				esetnum,
 				NumWords(TokenNum-1)*sizeof(unsigned));
 	}
@@ -642,20 +642,20 @@
 	esetnum++;
 
 	if ( name!=NULL ) {
-		fprintf(Parser_h, "\tstatic SetWordType %s%s[%d];\n", name, suffix,
+		fprintf(Parser_h, "\tstatic SetWordType %s%s[%lu];\n", name, suffix,
 				NumWords(TokenNum-1)*sizeof(unsigned));
-		fprintf(Parser_c, "SetWordType %s::%s%s[%d] = {",
+		fprintf(Parser_c, "SetWordType %s::%s%s[%lu] = {",
 				CurrentClassName,
 				name,
 				suffix,
 				NumWords(TokenNum-1)*sizeof(unsigned));
 	}
 	else {
-		fprintf(Parser_c, "SetWordType %s::err%d[%d] = {",
+		fprintf(Parser_c, "SetWordType %s::err%d[%lu] = {",
 				CurrentClassName,
 				esetnum,
 				NumWords(TokenNum-1)*sizeof(unsigned));
-		fprintf(Parser_h, "\tstatic SetWordType err%d[%d];\n", esetnum,
+		fprintf(Parser_h, "\tstatic SetWordType err%d[%lu];\n", esetnum,
 				NumWords(TokenNum-1)*sizeof(unsigned));
 	}
 
@@ -788,7 +788,7 @@
 
 	/* Build constructors */
 	fprintf(Parser_c, "\n%s::", CurrentClassName);
-	fprintf(Parser_c,	"%s(ANTLRTokenBuffer *input) : %s(input,%d,%d,%d,%d)\n",
+	fprintf(Parser_c,	"%s(ANTLRTokenBuffer *input) : %s(input,%d,%d,%d,%lu)\n",
 						CurrentClassName,
 						(BaseClassName == NULL ? "ANTLRParser" : BaseClassName),
 						OutputLL_k,
@@ -913,7 +913,7 @@
 #ifdef DUM
 	if ( LexGen ) fprintf(ErrFile, "#define zzEOF_TOKEN %d\n", (TokenInd!=NULL?TokenInd[EofToken]:EofToken));
 #endif
-	fprintf(ErrFile, "#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned));
+	fprintf(ErrFile, "#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned));
 	if ( DemandLookahead ) fprintf(ErrFile, "#define DEMAND_LOOK\n");
 	fprintf(ErrFile, "#include \"antlr.h\"\n");
 	if ( GenAST ) fprintf(ErrFile, "#include \"ast.h\"\n");
--- cdrdao-1.2.4/pccts/antlr/gen.c
+++ cdrdao-1.2.4/pccts/antlr/gen.c
@@ -159,7 +159,7 @@
 #define gen6(s,a,b,c,d,e,f)	{tab(); fprintf(output, s,a,b,c,d,e,f);}
 #define gen7(s,a,b,c,d,e,f,g)	{tab(); fprintf(output, s,a,b,c,d,e,f,g);}
 
-#define _gen(s)			{fprintf(output, s);}
+#define _gen(s)			{fprintf(output, "%s", s);}
 #define _gen1(s,a)		{fprintf(output, s,a);}
 #define _gen2(s,a,b)	{fprintf(output, s,a,b);}
 #define _gen3(s,a,b,c)	{fprintf(output, s,a,b,c);}
@@ -3911,7 +3911,7 @@
 	}
 #endif
 	/* ###WARNING: This will have to change when SetWordSize changes */
-	if ( !GenCC ) _gen1("#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned));
+	if ( !GenCC ) _gen1("#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned));
     if (TraceGen) {
       _gen("#ifndef zzTRACE_RULES\n");  /* MR20 */
       _gen("#define zzTRACE_RULES\n");  /* MR20 */
@@ -4125,7 +4125,7 @@
 	if ( LexGen ) fprintf(f, "#define zzEOF_TOKEN %d\n", (TokenInd!=NULL?TokenInd[EofToken]:EofToken));
 #endif
 	/* ###WARNING: This will have to change when SetWordSize changes */
-	fprintf(f, "#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned));
+	fprintf(f, "#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned));
     if (TraceGen) {
       fprintf(f,"#ifndef zzTRACE_RULES\n");  /* MR20 */
       fprintf(f,"#define zzTRACE_RULES\n");  /* MR20 */
--- cdrdao-1.2.4/pccts/antlr/set.c
+++ cdrdao-1.2.4/pccts/antlr/set.c
@@ -263,7 +263,7 @@
 	static set a;
 
 	if ( b == nil ) return( empty );
-	set_new(a, b);
+	set_new(a, (long unsigned int) b);
 	a.setword[DIVWORD(b)] = bitmask[MODWORD(b)];
 
 	return(a);
--- cdrdao-1.2.4/pccts/dlg/set.c
+++ cdrdao-1.2.4/pccts/dlg/set.c
@@ -263,7 +263,7 @@
 	static set a;
 
 	if ( b == nil ) return( empty );
-	set_new(a, b);
+	set_new(a, (long unsigned int) b);
 	a.setword[DIVWORD(b)] = bitmask[MODWORD(b)];
 
 	return(a);
--- cdrdao-1.2.4/pccts/h/set.h
+++ cdrdao-1.2.4/pccts/h/set.h
@@ -55,7 +55,7 @@
 /* make arg1 a set big enough to hold max elem # of arg2 */
 #define set_new(a,_max) \
 if (((a).setword=(unsigned *)calloc(NumWords(_max),BytesPerWord))==NULL) \
-        fprintf(stderr, "set_new: Cannot allocate set with max of %d\n", _max); \
+        fprintf(stderr, "set_new: Cannot allocate set with max of %lu\n", _max); \
         (a).n = NumWords(_max);
 
 #define set_free(a)									\