On Fri, Apr 02, 2010 at 10:42:20PM +0800, Herbert Xu wrote: > On Fri, Apr 02, 2010 at 04:32:20PM +0200, maximilian attems wrote: > > > > Pulled this; there seems to be a problem with the new version of dash > > with job control off. I can't tell if it is just a warning or is a > > manifest bug. > > > > The solution is simple: > > > > --- a/usr/dash/jobs.h > > +++ b/usr/dash/jobs.h > > @@ -105,5 +105,5 @@ int waitforjob(struct job *); > > int stoppedjobs(void); > > > > #if ! JOBS > > -#define setjobctl(on) /* do nothing */ > > +#define setjobctl(on) ((void)(on)) /* do nothing */ > > #endif > > > > ... to keep the code syntactically valid even when setjobctl() is used > > as the body of an if statement. > > So when exactly is this needed? Can you give an example? usr/dash/trap.c: In function `exitshell': usr/dash/trap.c:376: warning: suggest braces around empty body in an `if' statement exitshell() has: /* * Disable job control so that whoever had the foreground before we * started can get it back. */ if (likely(!setjmp(loc.loc))) setjobctl(0); aboves patch fixes this gcc warning for me, but I still see: KLIBCCC usr/dash/trap.o usr/dash/trap.c: In function â??exitshellâ??: usr/dash/trap.c:352: warning: variable â??statusâ?? might be clobbered by â??longjmpâ?? or â??vforkâ?? -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html