Hi,
Good point. I'm not too sure either; it depends what the current
needs are, or what they would be if the code was nicer. Options
include: just using atexit(3); ...
With good timing, this just cropped up.
With gcc 4.9.2, `-O -D_FORTIFY_SOURCE=2', on
1.6-branchpoint-1494-g23645d5, I get
uip/sendsbr.c: In function ‘sendsbr’:
uip/sendsbr.c:749:24: error: variable ‘host’ might be clobbered by
‘longjmp’ or ‘vfork’ [-Werror=clobbered]
const char *addr, *host;
I guess because it's inlining handle_sendfrom into the function that
calls setjmp(3), and adios() calls that `done' function pointer which
has been set to do a longjmp() in armed_done(). Though I think the
coder is allowed to disregard inlining effects; perhaps some gcc's get
this wrong.
--
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy
_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
https://lists.nongnu.org/mailman/listinfo/nmh-workers