> 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
[email protected]
http://lists.nongnu.org/mailman/listinfo/nmh-workers