fix undefined behavior in fmt_trim() It now writes the output in the input char *. This is only a temporaly fix.
cpstripped: Add braces to make code more legible.
fmt_scan: support multibyte characters in putstr decoding Fixes an issue where the string output by scan with a putstr format is truncated within a multibyte character causing terminal corruption
Remove not used code (JLR define) I don't yet understand what the code does but we've never used it and didn't miss it, thus it appears to be a good decision to just remove it.
Factor trim format function out Also clarify that it trims both, leading and trailing whitespace. (Note that it is a special trim function. We cannot simply replace it with sbr/trim.c. Nonetheless, its readability is somehow bad.)
Add %(unmailto) format function for List-Post headers With the unmailto format function it is possible to extract the address from a List-Post header, which e.g. is: List-Post: <mailto:mmh@marmaro.de> Applying %(unmailto{list-post}) extracts: ``mmh@marmaro.de'', which then can be used as recipient address for list replies. A format file (to be used with ``repl -form repllistcomps'') is included.
Break out the unquote functionality to a separate function.
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.
Cleanup of code layout only
Create proper prototypes for formataddr(). Pulled in from nmh. Thanks to Ken Hornstein.
Report an error when the width used by putaddr is less than the label width. Pulled in from nmh. Thanks to Ken Hornstein.
We have only numeric timezone support (e.g. +0200) from now on. That's an mmh decision. Pulled in from nmh is the following part: Removed use of tzset()/tzname in dtimezone(). They caused the returned timezone string to be for the user's current timezone, but the function is supposed to return the string representation of the timezone of its argument. Thanks to David Levine.
Changed types and added casts so that build is clean with gcc -Wsign-compare. Pulled in from nmh. Thanks to David Levine.
Add some comments to the format compiler and engine. Pulled in from nmh. Thanks to Ken Hornstein.
Remove some unused macros. Pulled in from nmh. Thanks to David Levine.
Completely remove the use of TIME_WITH_SYS_TIME. Removed the autoconf test but never removed the code, and this caused some problems on systems that needed some prototypes in <time.h>. Pulled in from nmh. Thanks to Ken Hornstein.
Removed support for UUCP bang path addresses. If you still rely on UUCP, use nmh, not mmh.
Removed (allmost all) JLR-specific code. There still is one fragment in fmt_scan(), of which I don't understand the logic. I don't want to remove stuff I don't understand.
Removed LBL compile condition (format: addtoseq).