summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorGreg Banks <gnb@melbourne.sgi.com>2006-07-04 18:33:56 +1000
committerNeil Brown <neilb@suse.de>2006-07-04 18:33:56 +1000
commit5bfa10c94c44f082dc211a5fb431e2202ea9bb35 (patch)
tree4e88780ae9d25ff81dd3a7ed763382451d005816 /tools
parentacae444246635ec2ca8990d53e685c9062d73091 (diff)
downloadnfs-utils-5bfa10c94c44f082dc211a5fb431e2202ea9bb35.tar.gz
nfs-utils-5bfa10c94c44f082dc211a5fb431e2202ea9bb35.tar.xz
nfs-utils-5bfa10c94c44f082dc211a5fb431e2202ea9bb35.zip
Eliminate warnings from code generated by rpcgen
- unused variable 'buf' - emit a declaration for `buf' on demand. - unused variable 'i' - declare i immediately before use - unused value from IXDR_PUT_ - cast to (void) - type-punned pointer reference - cast to (void*) first :-(
Diffstat (limited to 'tools')
-rw-r--r--tools/rpcgen/rpc_cout.c42
1 files changed, 20 insertions, 22 deletions
diff --git a/tools/rpcgen/rpc_cout.c b/tools/rpcgen/rpc_cout.c
index cae8717..377ba0b 100644
--- a/tools/rpcgen/rpc_cout.c
+++ b/tools/rpcgen/rpc_cout.c
@@ -164,8 +164,6 @@ print_header(definition *def)
if (Inline == 0)
return;
- /* May cause lint to complain. but ... */
- f_print(fout, "\t register int32_t *buf;\n\n");
}
static void
@@ -266,7 +264,8 @@ print_ifstat(int indent, char *prefix, char *type, relation rel,
} else {
print_ifopen(indent, "array");
}
- print_ifarg("(char **)");
+ /* The (void*) avoids a gcc-4.1 warning */
+ print_ifarg("(char **)(void*)");
if (*objname == '&') {
f_print(fout, "%s.%s_val, (u_int *)%s.%s_len",
objname, name, objname, name);
@@ -390,18 +389,13 @@ emit_struct(definition *def)
char *sizestr, *plus;
char ptemp[256];
int can_inline;
+ const char *buf_declaration;
if (Inline == 0) {
for (dl = def->def.st.decls; dl != NULL; dl = dl->next)
print_stat(1, &dl->decl);
} else {
-
- for (dl = def->def.st.decls; dl != NULL; dl = dl->next)
- if (dl->decl.rel == REL_VECTOR) {
- f_print(fout, "\t int i;\n");
- break;
- }
size = 0;
can_inline = 0;
for (dl = def->def.st.decls; dl != NULL; dl = dl->next)
@@ -444,6 +438,7 @@ emit_struct(definition *def)
i = 0;
size = 0;
sizestr = NULL;
+ buf_declaration = "int32_t *";
for (dl = def->def.st.decls; dl != NULL; dl = dl->next) { /* xxx */
/* now walk down the list and check for basic types */
@@ -497,16 +492,17 @@ emit_struct(definition *def)
/* were already looking at a xdr_inlineable structure */
if (sizestr == NULL)
- f_print(fout, "\t buf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
- size);
+ f_print(fout, "\t %sbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
+ buf_declaration, size);
else if (size == 0)
f_print(fout,
- "\t buf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
- sizestr);
+ "\t %sbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
+ buf_declaration, sizestr);
else
f_print(fout,
- "\t buf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
- size, sizestr);
+ "\t %sbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
+ buf_declaration, size, sizestr);
+ buf_declaration = "";
f_print(fout, "\n\t if (buf == NULL) {\n");
@@ -546,16 +542,17 @@ emit_struct(definition *def)
/* were already looking at a xdr_inlineable structure */
if (sizestr == NULL)
- f_print(fout, "\t\tbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
- size);
+ f_print(fout, "\t\t%sbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
+ buf_declaration, size);
else if (size == 0)
f_print(fout,
- "\t\tbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
- sizestr);
+ "\t\t%sbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
+ buf_declaration, sizestr);
else
f_print(fout,
- "\t\tbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
- size, sizestr);
+ "\t\t%sbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
+ buf_declaration, size, sizestr);
+ buf_declaration = "";
f_print(fout, "\n\t\tif (buf == NULL) {\n");
@@ -632,6 +629,7 @@ emit_inline(declaration *decl, int flag)
break;
case REL_VECTOR:
f_print(fout, "\t\t{ register %s *genp; \n", decl->type);
+ f_print(fout, "\t\t int i;\n");
f_print(fout, "\t\t for ( i = 0,genp=objp->%s;\n \t\t\ti < %s; i++){\n\t\t",
decl->name, decl->array_max);
emit_single_in_line(decl, flag, REL_VECTOR);
@@ -649,7 +647,7 @@ emit_single_in_line(declaration *decl, int flag, relation rel)
int freed=0;
if(flag == PUT)
- f_print(fout,"\t\t IXDR_PUT_");
+ f_print(fout,"\t\t (void) IXDR_PUT_");
else
if(rel== REL_ALIAS)
f_print(fout,"\t\t objp->%s = IXDR_GET_",decl->name);