redesign version string Now we have two version nummbers one for the tool and one for the lib. Also the version number is changed everytime the object is rebuild.
Replace getcpy() and strdup() with mh_xstrdup() this harmonise the code. Also fix some bugs, if return value of strdup is not checked.
Replace free() with mh_free0() mh_free0() free's the memmory and set's the pointer to NULL after the free. This avoids doublefree and dereferenc of a non valid poiter.
Drop register storage class
Use sysexits.h for better exit-codes The sysexits header describe some standard exit-codes, which should be used. adios has now a status argument so sysexits.h can be used.
Move #include from h/mh.h to source files Included files should not include further files. Now, only the necessary files are included and not all of them in every file. A large bunch of this work is done, but there are some more nested include files.
Replace done with exit at uip Replace done with exit in most sourcefiles of uip. This makes the code better to read. If the done was overwritten by an externel function atexit() is used instand. send.c and mhl.c are excluded, because need a bit rewrite first.
ali: Either read default alias files or the ones on command line. Renamed -alias to -file because the semantic changed and the new name appears to be better suited.
Removed configure flag --disable-locale and have it always enabled. Todays system are assumed to have locale support.
Require at least 2 chars for `no' variants of switches. This results in: ali -n --> -normalize ali -no --> ambiguous folder -n --> unknown (don't know if this case is good) folder -no --> ambiguous
Renamed -version switch to -Version to remove the conflict with -verbose. Now, `mhlist -V' prints the version and `mhlist -v' lists verbosely. There are only a few switches left that conflict on the first character, apart from the inverted (no*) variants.
Merged h/mts.h into h/prototypes.h. Note: spost.c is not up to date.
Removed mts.conf; the maildelivery option went into slocal directly. The MTS is a non-MUA part of MH, which is/gets removed in MMH. Now, you cannot change the global maildelivery file without changing the code. You stil can specify -maildelivery to slocal. I've also remove support for the env vars MHMTSCONF and MHMTSUSERCONF, which were added by Earl Hood in 2010. We might want to add support for them again. I need to think about the future of slocal anyway.
Fixed path lookup for alias files: ali, send, whatnow.
Removed several `#if 0' fragments. We better don't carry dead code with us, it might start smelling.
Relayouted all switch statements: case aligns with switch. Desired style is: switch (n) { case foo: ... }
Removed the global alias file Either use personal alias files or the MTA alias file.
Renamed r1bindex() to mhbasename(), to make its function becomes clear. All calls to r1bindex() had '/' as second argument. For everything else one can use strrchr(3) instead of r1bindex().
Removed the space between function names and the opening parenthesis.
Reformated comments and long lines