I'd also be in favour of putting this in h/prototypes.h:
/* If this is GCC, we can specify some attributes to help the compiler
* (a) generate better code and (b) avoid spurious warnings.
* If this isn't GCC, the attributes are ignored.
*/
#ifdef __GNUC__
#define NORETURN __attribute__ ((__noreturn__))
#define NOTUSED __attribute__ ((__unused__))
#else
#define NORETURN
#define NOTUSED
#endif
and then having the prototype for done() (and adios() too) look like
void done (int) NORETURN;
I have no problems with this, but I'll let you do it. I've already
got all the changes I described in my working copy, and I'd prefer to
commit them with no further changes, if I'm committing them at all.
I'm tempted to suggest dumping the unreachable 'return 1;' lines too...
I don't want to do this. The "return 1;" lines serve as a reminder that
the code is awkward, and should be rewritten.
(Returning void also has the advantage that create_folder()'s second
argument can be given the right type.)
That's what put me on to this. :) It seems that done() is supposed
to be like exit(), which is why it should probably be superseded by
atexit() registration.
Cheers,
- Joel
_______________________________________________
Nmh-workers mailing list
Nmh-workers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/nmh-workers