Skip to contentSkip to conversation

fix spurious gcc warnings

PATCH In review Christoph Hellwig 3 participants 4 messages Nov 12, 2008 – Nov 21, 2008 XFS filesystem

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix spurious gcc warnings

Some recent gcc warnings don't like passing string variables to printf-like functions without using at least a "%s" format string. Chaneg the two occurances of that in xfs to please gcc.

fs/xfs/linux-2.6/xfs_stats.c: In function "xfs_read_xfssta":
fs/xfs/linux-2.6/xfs_stats.c:64: warning: format not a string literal and no format arguments fs/xfs/linux-2.6/xfs_super.c: In function "init_xfs_fs":
fs/xfs/linux-2.6/xfs_super.c:1833: warning: format not a string literal and no format arguments

fs/xfs/linux-2.6/xfs_stats.c +1 -1
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_stats.c
===================================================================
@@ -61,7 +61,7 @@ xfs_read_xfsstats(
 
 	/* Loop over all stats groups */
 	for (i=j=len = 0; i < ARRAY_SIZE(xstats); i++) {
-		len += sprintf(buffer + len, xstats[i].desc);
+		len += sprintf(buffer + len, "%s", xstats[i].desc);
 		/* inner loop does each group */
 		while (j < xstats[i].endpoint) {
 			val = 0;
fs/xfs/linux-2.6/xfs_super.c +2 -3
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
===================================================================
@@ -1827,10 +1827,9 @@ STATIC int __init
 init_xfs_fs(void)
 {
 	int			error;
-	static char		message[] __initdata = KERN_INFO \
-		XFS_VERSION_STRING " with " XFS_BUILD_OPTIONS " enabled\n";
 
-	printk(message);
+	printk(KERN_INFO XFS_VERSION_STRING " with "
+			 XFS_BUILD_OPTIONS " enabled\n");
 
 	ktrace_init(64);
 	vn_init();
#1 lore raw
Quoted 3 lines · Christoph Hellwig

Some recent gcc warnings don't like passing string variables to printf-like functions without using at least a "%s" format string. Chaneg the two occurances of that in xfs to please gcc.

Looks fine to me (might re-spell "Chaneg" though ;) )

-Eric

Quoted 30 lines

fs/xfs/linux-2.6/xfs_stats.c: In function "xfs_read_xfssta":
fs/xfs/linux-2.6/xfs_stats.c:64: warning: format not a string literal and no format arguments fs/xfs/linux-2.6/xfs_super.c: In function "init_xfs_fs":
fs/xfs/linux-2.6/xfs_super.c:1833: warning: format not a string literal and no format arguments

Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_stats.c
===================================================================

fs/xfs/linux-2.6/xfs_stats.c +1 -1
@@ -61,7 +61,7 @@ xfs_read_xfsstats(
 
 	/* Loop over all stats groups */
 	for (i=j=len = 0; i < ARRAY_SIZE(xstats); i++) {
-		len += sprintf(buffer + len, xstats[i].desc);
+		len += sprintf(buffer + len, "%s", xstats[i].desc);
 		/* inner loop does each group */
 		while (j < xstats[i].endpoint) {
 			val = 0;

Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
===================================================================

fs/xfs/linux-2.6/xfs_super.c +0 -0
@@ -1827,10 +1827,9 @@ STATIC int __init
 init_xfs_fs(void)
 {

fs/xfs/linux-2.6/xfs_super.c STATIC int __init · line 1835

Quoted 10 lines
fs/xfs/linux-2.6/xfs_super.c +2 -3
 	int			error;
-	static char		message[] __initdata = KERN_INFO \
-		XFS_VERSION_STRING " with " XFS_BUILD_OPTIONS " enabled\n";
 
-	printk(message);
+	printk(KERN_INFO XFS_VERSION_STRING " with "
+			 XFS_BUILD_OPTIONS " enabled\n");
 
 	ktrace_init(64);
 	vn_init();

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#2 lore raw
In reply to Christoph Hellwig
Quoted 17 lines · Christoph Hellwig

Some recent gcc warnings don't like passing string variables to printf-like functions without using at least a "%s" format string. Chaneg the two occurances of that in xfs to please gcc.

fs/xfs/linux-2.6/xfs_stats.c: In function "xfs_read_xfssta":
fs/xfs/linux-2.6/xfs_stats.c:64: warning: format not a string literal and no format arguments fs/xfs/linux-2.6/xfs_super.c: In function "init_xfs_fs":
fs/xfs/linux-2.6/xfs_super.c:1833: warning: format not a string literal and no format arguments

Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_stats.c
===================================================================

fs/xfs/linux-2.6/xfs_stats.c xfs_read_xfsstats( · line 64

Quoted 5 lines
fs/xfs/linux-2.6/xfs_stats.c +1 -1
@@ -61,7 +61,7 @@ xfs_read_xfsstats(
 
 	/* Loop over all stats groups */
 	for (i=j=len = 0; i < ARRAY_SIZE(xstats); i++) {
-		len += sprintf(buffer + len, xstats[i].desc);
+		len += sprintf(buffer + len, "%s", xstats[i].desc);

Why not use strcpy here?

Josef 'Jeff' Sipek.

--
Real Programmers consider "what you see is what you get" to be just as bad a concept in Text Editors as it is in women. No, the Real Programmer wants a "you asked for it, you got it" text editor -- complicated, cryptic, powerful, unforgiving, dangerous.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#3 lore raw
Quoted 5 lines · Josef 'Jeff' Sipek

fs/xfs/linux-2.6/xfs_stats.c xfs_read_xfsstats( · line 64

Quoted 3 lines
fs/xfs/linux-2.6/xfs_stats.c +1 -1
 	for (i=j=len = 0; i < ARRAY_SIZE(xstats); i++) {
-		len += sprintf(buffer + len, xstats[i].desc);
+		len += sprintf(buffer + len, "%s", xstats[i].desc);

Why not use strcpy here?

I applies the principle of minimal change. strcpy would work, too and be a tidbit more efficient.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs