Hi!
----
Below are two small patches to fix build warnings when compiling
ast-ksh.2013-02-22 using the Sun Studio 12.1 compiler on Solaris
11/B145/AMD64.
The warnings are:
-- snip --
"/home/test001/ksh93/ast_ksh_20130222/build_i386_64bit_opt/src/cmd/ksh93/bltins/enum.c",
line 204: warning: assignment type mismatch:
pointer to struct Enum {struct Namfun {..} hdr, short nelem,
short iflag, array[1] of pointer to const char values} "=" pointer to
struct Namfun {pointer to const struct Namdisc {..} disc, char nofree,
unsigned char subshell, unsigned int dsize, pointer to struct Namfun
{..} next, pointer to char last, pointer to struct Namval {..} type}
(E_ASSIGNMENT_TYPE_MISMATCH)
"/home/test001/ksh93/ast_ksh_20130222/build_i386_64bit_opt/src/cmd/ksh93/sh/name.c",
line 1233: warning: statement not reached (E_STATEMENT_NOT_REACHED)
-- snip --
First issue is a missing cast:
-- snip --
--- src/cmd/ksh93/bltins/enum.c Fri Mar 15 23:28:12 2013
+++ src/cmd/ksh93/bltins/enum.c Fri Mar 15 21:35:58 2013
@@ -201,7 +201,7 @@
}
while(tp)
{
- if(!tp->nvfun || !(ep=nv_hasdisc(tp,&ENUM_disc)))
+ if(!tp->nvfun || !(ep=(struct Enum *)nv_hasdisc(tp,&ENUM_disc)))
continue;
sfprintf(iop,"enum %s%s=(\n",(ep->iflag?"-i ":""),tp->nvname);
for(i=0; i <ep->nelem ; i++)
-- snip --
2nd issue is dead code (the |while(1)|-block will loop forever (until
the function returns via |return...|)):
-- snip --
--- src/cmd/ksh93/sh/name.c Fri Mar 15 23:28:12 2013
+++ src/cmd/ksh93/sh/name.c Fri Mar 15 23:13:27 2013
@@ -1230,7 +1230,6 @@
cp = xp;
}
}
- return(np);
}
/*
-- snip --
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) [email protected]
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers