markus schnalke [Wed, 4 Jan 2012 17:57:18 +0000 (18:57 +0100)]

10 years agoRenamed all standard sequences (e.g. cur->c) and made them globally changeable
markus schnalke [Wed, 4 Jan 2012 17:29:23 +0000 (18:29 +0100)]
Renamed all standard sequences (e.g. cur->c) and made them globally changeable
The full list:
cur -> c
first -> f
last -> l
next -> n
prev -> p
all -> a
new -> b (mnemonic: one beyond the last)
They are globally changeable in config/config.c
Could be that I'll add the old names again, as convenience aliases.

10 years agoInverted the second arg of seq_setunseen(), to be more natural.
markus schnalke [Wed, 4 Jan 2012 13:49:09 +0000 (14:49 +0100)]
Inverted the second arg of seq_setunseen(), to be more natural.

10 years agoAnother fix for the strchr() transition: Check for NULL arguments.
markus schnalke [Wed, 4 Jan 2012 13:46:58 +0000 (14:46 +0100)]
Another fix for the strchr() transition: Check for NULL arguments.
Is now the point to reintroduce the brkany() helper? Hmm...

10 years agoActivated default sequence negation (exclamation mark).
markus schnalke [Wed, 4 Jan 2012 11:35:19 +0000 (12:35 +0100)]
Activated default sequence negation (exclamation mark).

10 years agoActivated a default unseen sequence; updated man pages to it.
markus schnalke [Wed, 4 Jan 2012 11:04:44 +0000 (12:04 +0100)]
Activated a default unseen sequence; updated man pages to it.

10 years agoFixed bug in brkstring(), newly introduced by the switch to strchr().
markus schnalke [Wed, 4 Jan 2012 10:16:12 +0000 (11:16 +0100)]
Fixed bug in brkstring(), newly introduced by the switch to strchr().
strchr() treats the trailing null byte surprisingly:
``The terminating null byte is considered to be part of the string.''

10 years agoGlobally defined the names for the standard sequences.
markus schnalke [Wed, 4 Jan 2012 09:06:51 +0000 (10:06 +0100)]
Globally defined the names for the standard sequences.
I'll rework the whole code to use them and not have hard-coded names anymore.
The `new' sequence will be called `beyond' sequence (`b') from now on.
The `unseen' sequence will be set by default to `u' from now on.
The sequence negation will be set by default to `!' from now on.

10 years agosbr/brkstring.c: replaced static brkany() with call to strchr(); plus cleanups
markus schnalke [Wed, 4 Jan 2012 08:54:43 +0000 (09:54 +0100)]
sbr/brkstring.c: replaced static brkany() with call to strchr(); plus cleanups

10 years agoFixed minor typo in man page.
markus schnalke [Tue, 3 Jan 2012 06:14:24 +0000 (07:14 +0100)]
Fixed minor typo in man page.

10 years agoRemoved remaining lines from the --with-pager=... removal, months ago.
markus schnalke [Tue, 3 Jan 2012 05:41:27 +0000 (06:41 +0100)]
Removed remaining lines from the --with-pager=... removal, months ago.

10 years agos/vfork/fork/
markus schnalke [Tue, 3 Jan 2012 05:36:30 +0000 (06:36 +0100)]
I truly believe that vfork is wrong. Forking should not be too slow for us.

10 years agoRelayouted all switch statements: case aligns with switch.
markus schnalke [Tue, 3 Jan 2012 05:16:30 +0000 (06:16 +0100)]
Relayouted all switch statements: case aligns with switch.
Desired style is:
switch (n) {
case foo:

10 years agoRemoved ``Face'' support in mhl.
markus schnalke [Mon, 2 Jan 2012 13:54:05 +0000 (14:54 +0100)]
Removed ``Face'' support in mhl.
It appears to be about `Face:' headers, but neither Jerry Peek, nor
Ken Hornstein knew more.

10 years agoRemoved references to unused default procs and commented config/config.c
markus schnalke [Mon, 2 Jan 2012 10:50:35 +0000 (11:50 +0100)]
Removed references to unused default procs and commented config/config.c

10 years agoRemoved the configuration option NOPUBLICSEQ.
markus schnalke [Mon, 2 Jan 2012 10:20:00 +0000 (11:20 +0100)]
Removed the configuration option NOPUBLICSEQ.
You can change it still, by setting mh_seq to NULL in config/config.c.

10 years agoRenames: s/+outbox/+sent/ and s/cc:/Cc:/
markus schnalke [Mon, 2 Jan 2012 09:57:24 +0000 (10:57 +0100)]
Renames: s/+outbox/+sent/ and s/cc:/Cc:/
IMO ``sent'' specifies more exactly what it contains. ``outbox'' would
mean to me that these messages are prepared for delivery, but are not
already sent.

10 years agoUpdated INSTALL and changed `nmh' strings to `mmh'
markus schnalke [Mon, 2 Jan 2012 09:20:49 +0000 (10:20 +0100)]
Updated INSTALL and changed `nmh' strings to `mmh'

10 years agoReworked the man page system and some man page contents (mmh-intro).
markus schnalke [Fri, 23 Dec 2011 11:09:55 +0000 (12:09 +0100)]
Reworked the man page system and some man page contents (mmh-intro).
Now it's possible to have two equally named pages in two different sections.
This appeared to be interesting for mmh(X), but I don't use it now. Let's
see if we keep the new system or even rework it to become simpler.

10 years agoBe quiet! Only talk if you have something useful to say.
markus schnalke [Fri, 23 Dec 2011 08:00:59 +0000 (09:00 +0100)]
Be quiet! Only talk if you have something useful to say.

10 years agoAdjusted Makefile to the rename: etc/scan.default -> etc/scan.nmh
markus schnalke [Fri, 23 Dec 2011 07:32:41 +0000 (08:32 +0100)]
Adjusted Makefile to the rename: etc/scan.default -> etc/scan.nmh

10 years agoUpdated all man pages and renamed to
markus schnalke [Fri, 23 Dec 2011 07:32:08 +0000 (08:32 +0100)]
Updated all man pages and renamed to

10 years agoUnimportant stuff.
markus schnalke [Fri, 23 Dec 2011 07:13:22 +0000 (08:13 +0100)]
Unimportant stuff.

10 years agoReplaced C program `install-mh' by shell script `mmh'.
markus schnalke [Fri, 23 Dec 2011 07:12:20 +0000 (08:12 +0100)]
Replaced C program `install-mh' by shell script `mmh'.
It is updated to the separated directories.

10 years agoSplit nmh dir into mmh dir (~/.mmh) and mail storage (~/Mail).
markus schnalke [Fri, 23 Dec 2011 07:00:58 +0000 (08:00 +0100)]
Split nmh dir into mmh dir (~/.mmh) and mail storage (~/Mail).
The profile (~/.mh_profile) became (~/.mmh/profile).

The idea was to separate the configuration files and the data (= messages).

The environment variables changed accordingly:
MH -> MMHP (profile)
MHCONTEXT -> MMHC (context)
new: MMH (mmh dir)

mh-install is not adjusted, yet.

10 years agoFixed bug, reported by Phil: Profile entry Draft-Folder was case sensitive.
markus schnalke [Tue, 13 Dec 2011 13:20:32 +0000 (14:20 +0100)]
Fixed bug, reported by Phil: Profile entry Draft-Folder was case sensitive.
The components in the profile should be matched case*in*sensitive, always.

10 years agoCleanup in m_draft. There was some confusingly unnecessary code.
markus schnalke [Tue, 13 Dec 2011 13:19:40 +0000 (14:19 +0100)]
Cleanup in m_draft. There was some confusingly unnecessary code.

10 years agoMinor change in output message
markus schnalke [Tue, 13 Dec 2011 12:10:15 +0000 (13:10 +0100)]
Minor change in output message

10 years agoRemoved the global alias file
markus schnalke [Mon, 12 Dec 2011 13:09:44 +0000 (14:09 +0100)]
Removed the global alias file
Either use personal alias files or the MTA alias file.

10 years agoMoved etcpath() from config/config.c to sbr/path.c
markus schnalke [Mon, 12 Dec 2011 12:38:51 +0000 (13:38 +0100)]
Moved etcpath() from config/config.c to sbr/path.c

10 years agoCode cosmetic
markus schnalke [Fri, 9 Dec 2011 21:12:34 +0000 (22:12 +0100)]
Code cosmetic

10 years agoAdjusted the default scan listing: remove the body preview
markus schnalke [Fri, 9 Dec 2011 20:56:44 +0000 (21:56 +0100)]
Adjusted the default scan listing: remove the body preview
The original listing is still available as etc/scan.nmh

10 years agoCode cosmetics
markus schnalke [Fri, 9 Dec 2011 20:26:54 +0000 (21:26 +0100)]
Code cosmetics

10 years agoWe have `NULL' in order to not need to write `(char *)0' anymore.
markus schnalke [Fri, 9 Dec 2011 17:44:19 +0000 (18:44 +0100)]
We have `NULL' in order to not need to write `(char *)0' anymore.

10 years agoRemoved void casts for ignored return values of function calls.
markus schnalke [Fri, 9 Dec 2011 17:34:39 +0000 (18:34 +0100)]
Removed void casts for ignored return values of function calls.
IMO, this distracts from the important without being much worth.

10 years agoWe don't want to use copy() anymore; but kept it for concat() only
markus schnalke [Fri, 9 Dec 2011 17:21:27 +0000 (18:21 +0100)]
We don't want to use copy() anymore; but kept it for concat() only

10 years agos/pfolder/curfolder/g
markus schnalke [Fri, 9 Dec 2011 17:11:10 +0000 (18:11 +0100)]

10 years ago"." is no longer an alias for "cur"
markus schnalke [Fri, 9 Dec 2011 16:32:28 +0000 (17:32 +0100)]
"." is no longer an alias for "cur"
Don't fear more typing, as "cur" will soon be cut down to "c",
likewise the other predefined sequences.

10 years agoRemoved the option to disable `~user' support (MHRC)
markus schnalke [Fri, 9 Dec 2011 16:17:50 +0000 (17:17 +0100)]
Removed the option to disable `~user' support (MHRC)

10 years agoCompletely reworked the path convertion functions
markus schnalke [Fri, 9 Dec 2011 15:34:57 +0000 (16:34 +0100)]
Completely reworked the path convertion functions
Moved everything (from sbr/getfolder.c and sbr/m_maildir.c) into
sbr/path.c, but actually replaced the code almost completely.
See h/prototypes.h for the function changes.
sbr/path.c provides explaining comments on the functions.
None of them allocates memory automatically.

- Like for other ``files'', `inc -audit file' places file relative
  to the cwd, not relative to the mh-dir. This is for consistency.
- Replaced add(foo, NULL) with getcpy(foo), which ist clearer.

10 years agoCosmetic refactoring
markus schnalke [Mon, 21 Nov 2011 10:29:03 +0000 (11:29 +0100)]
Cosmetic refactoring

10 years agoCosmetic change
markus schnalke [Sun, 20 Nov 2011 20:19:43 +0000 (21:19 +0100)]
Cosmetic change

10 years agoCosmetic change
markus schnalke [Sun, 20 Nov 2011 20:17:44 +0000 (21:17 +0100)]
Cosmetic change

10 years agoAdded comment
markus schnalke [Sun, 20 Nov 2011 20:14:29 +0000 (21:14 +0100)]
Added comment

10 years agoSimplification: Removed unnecessary variable
markus schnalke [Sun, 20 Nov 2011 20:13:07 +0000 (21:13 +0100)]
Simplification: Removed unnecessary variable

10 years agoThe existence of the profile entry Path is already enforced by context_read().
markus schnalke [Sun, 20 Nov 2011 11:38:17 +0000 (12:38 +0100)]
The existence of the profile entry Path is already enforced by context_read().
Hence, removed the obscure ``free(path("./", TFOLDER));'' calls.
Still I don't see the sense in these lines, but they won't get executed,
as the condition is checked before (and the program aborts then).
Probably that's obsolete stuff that remained through several reworks.

10 years agoCode reformating.
markus schnalke [Sat, 5 Nov 2011 18:07:47 +0000 (19:07 +0100)]
Code reformating.

10 years agoImproved pluspath() and used it instead of path() where appropriate.
markus schnalke [Sat, 5 Nov 2011 17:40:23 +0000 (18:40 +0100)]
Improved pluspath() and used it instead of path() where appropriate.

10 years agoRefactored sbr/getfolder.c
markus schnalke [Sat, 5 Nov 2011 17:13:17 +0000 (18:13 +0100)]
Refactored sbr/getfolder.c

10 years agoIntroduced FDEF and FCUR for speaking arguments to getfolder().
markus schnalke [Sat, 5 Nov 2011 16:56:07 +0000 (17:56 +0100)]
Introduced FDEF and FCUR for speaking arguments to getfolder().
Maybe it would be better to two separate functions, but I cannot
imagine good names for them ... :-(

10 years agoRearranged code in the file.
markus schnalke [Sat, 5 Nov 2011 16:51:30 +0000 (17:51 +0100)]
Rearranged code in the file.

10 years agoRefactoring in sbr/path.c.
markus schnalke [Sat, 5 Nov 2011 16:35:13 +0000 (17:35 +0100)]
Refactoring in sbr/path.c.
Especially: Replaced compath() with a more general packpath().

10 years agoRenamed r1bindex() to mhbasename(), to make its function becomes clear.
markus schnalke [Sat, 5 Nov 2011 13:04:02 +0000 (14:04 +0100)]
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().

10 years agoRenamed ssequal() to isprefix(), because that's what it checks.
markus schnalke [Sat, 5 Nov 2011 10:47:42 +0000 (11:47 +0100)]
Renamed ssequal() to isprefix(), because that's what it checks.

10 years agoRemoved defines for obsolete BSD bcopy functions; Use getc() directly.
markus schnalke [Sat, 5 Nov 2011 09:31:30 +0000 (10:31 +0100)]
Removed defines for obsolete BSD bcopy functions; Use getc() directly.

10 years agoWe don't need macros for only putting two strings next to each other.
markus schnalke [Sat, 5 Nov 2011 09:26:18 +0000 (10:26 +0100)]
We don't need macros for only putting two strings next to each other.

10 years agoRemoved references to bboards, as we don't support them anymore.
markus schnalke [Sat, 5 Nov 2011 08:43:56 +0000 (09:43 +0100)]
Removed references to bboards, as we don't support them anymore.

10 years agoBroke long lines.
markus schnalke [Tue, 1 Nov 2011 14:55:31 +0000 (15:55 +0100)]
Broke long lines.

10 years agoDon't call writev() anymore.
markus schnalke [Tue, 1 Nov 2011 08:29:08 +0000 (09:29 +0100)]
Don't call writev() anymore.
It might be a sexy syscall, but it's not portable and more complex than
the mainstream solution. For sexy source program, go elsewhere!

10 years agoRemoved outc(), which only called putchar(), while having the same signature.
markus schnalke [Tue, 1 Nov 2011 08:10:19 +0000 (09:10 +0100)]
Removed outc(), which only called putchar(), while having the same signature.
I substituted all outc() calls with calls to putchar().

10 years agoRemoved the space between function names and the opening parenthesis.
markus schnalke [Tue, 1 Nov 2011 08:05:30 +0000 (09:05 +0100)]
Removed the space between function names and the opening parenthesis.

10 years agoReformated comments and long lines
markus schnalke [Mon, 31 Oct 2011 14:06:33 +0000 (15:06 +0100)]
Reformated comments and long lines

10 years agoRemoved the draft message in favor for a consistent draft folder facility
markus schnalke [Sun, 30 Oct 2011 10:35:54 +0000 (11:35 +0100)]
Removed the draft message in favor for a consistent draft folder facility
- reworked sbr/m_draft.c (of course)
- removed the -draftfolder/-draftmessage/-nodraftfolder switches
- removed the -draft switch from anno and refile
- no more need to question on existing draft message - yay!
Everything is more consistent now. Cornercases went away. :-)

(Also fixed the switch numbering, as already done for other files earlier.)

10 years agoFixed broken swit numbering (there are more files to fix)
markus schnalke [Sun, 16 Oct 2011 17:50:26 +0000 (19:50 +0200)]
Fixed broken swit numbering (there are more files to fix)

10 years agoRemoved the whom program, which relayed on post(8) functionality.
markus schnalke [Sun, 16 Oct 2011 09:48:09 +0000 (11:48 +0200)]
Removed the whom program, which relayed on post(8) functionality.
We can later add one again, which only expands aliases but does not
require the MTA to support -bv.

10 years agoRemoved the split feature of send.
markus schnalke [Sun, 16 Oct 2011 08:47:04 +0000 (10:47 +0200)]
Removed the split feature of send.
It would split large messages into several partial ones, using MIME.
But if a message contains one large file attached, it won't solve the
problem. We better go without this feature and leave it to the user.

10 years agoRemoved unneeded sbr code.
markus schnalke [Fri, 7 Oct 2011 08:41:15 +0000 (10:41 +0200)]
Removed unneeded sbr code.
memmove() and strerror() removed again. ;-) Mmh takes C89, at least, for

10 years agoRearranged whitespace (and comments) in all the code!
markus schnalke [Fri, 7 Oct 2011 06:35:27 +0000 (08:35 +0200)]
Rearranged whitespace (and comments) in all the code!
The primary goal was to only indent with tabs and not mix them with spaces.
Also, no more tabs should appear past the first printable char on each line.
Now editing the sources will be much easier, no matter which editor one uses,
and rearranging won't break aligned code.
(Beware, the changeset is huge, but the `diff -w' changes are moderate.)

10 years agoRemoved mhn, as it was already replaced by mhlist/mhshow/mhstore.
markus schnalke [Wed, 5 Oct 2011 19:13:58 +0000 (21:13 +0200)]
Removed mhn, as it was already replaced by mhlist/mhshow/mhstore.

10 years agoRemoved msh, vmh and wmh.
markus schnalke [Wed, 5 Oct 2011 17:09:27 +0000 (19:09 +0200)]
Removed msh, vmh and wmh.
The latter ones were long time obsolete; now they went away.
Msh has hardly to do with everyday mmh usage, and we don't support bboards
This one changeset saves us about 7,000 lines of code. *yay*

10 years agoRemoved unused and not compiling program wmh.
markus schnalke [Wed, 5 Oct 2011 16:21:11 +0000 (18:21 +0200)]
Removed unused and not compiling program wmh.
It was added 1986, and is not even mentioned in nmh's history.
The website is (was?)

10 years agoRemoved obsolete MTS docs from README.developers
markus schnalke [Wed, 5 Oct 2011 16:14:41 +0000 (18:14 +0200)]
Removed obsolete MTS docs from README.developers

10 years agoClarification fix in man/, related to -debug.
markus schnalke [Wed, 5 Oct 2011 10:29:01 +0000 (12:29 +0200)]
Clarification fix in man/, related to -debug.

10 years agoReworked LINK, now named `altmsglink', similar to BACKUP_PREFIX.
markus schnalke [Wed, 5 Oct 2011 10:25:09 +0000 (12:25 +0200)]
Reworked LINK, now named `altmsglink', similar to BACKUP_PREFIX.

10 years agoMoved default file/folder modes from acconfig.h to config/config.c
markus schnalke [Wed, 5 Oct 2011 09:42:08 +0000 (11:42 +0200)]
Moved default file/folder modes from acconfig.h to config/config.c

10 years agoRemoved --with-{editor,pager} configure options.
markus schnalke [Wed, 5 Oct 2011 09:28:46 +0000 (11:28 +0200)]
Removed --with-{editor,pager} configure options.
We keep defaulting to vi and more, but search in PATH at run time.
Nowadays, both programs should be available via PATH everywhere.
Otherwise, the the path in the profile.

10 years agoDocumented -debug switch or mhparam(1)
markus schnalke [Wed, 5 Oct 2011 08:22:17 +0000 (10:22 +0200)]
Documented -debug switch or mhparam(1)

10 years agoMoved sendmail item to better place in man page mh-profile(5)
markus schnalke [Wed, 5 Oct 2011 07:55:16 +0000 (09:55 +0200)]
Moved sendmail item to better place in man page mh-profile(5)

10 years agoRemoved configure option --with-hash-prefix and moved backup-prefix to profile
markus schnalke [Wed, 5 Oct 2011 07:48:37 +0000 (09:48 +0200)]
Removed configure option --with-hash-prefix and moved backup-prefix to profile

10 years agoRenamed to the more modern name
markus schnalke [Tue, 4 Oct 2011 19:39:54 +0000 (21:39 +0200)]
Renamed to the more modern name

10 years agoNicer structure in summary printing of the configure script.
markus schnalke [Tue, 4 Oct 2011 19:07:22 +0000 (21:07 +0200)]
Nicer structure in summary printing of the configure script.

10 years agoMoved the sendmail path config line from mts.conf to the MH profile
markus schnalke [Tue, 4 Oct 2011 19:05:33 +0000 (21:05 +0200)]
Moved the sendmail path config line from mts.conf to the MH profile
This another step in getting rid of the mts stuff.

10 years agoRemoved TLS support. We don't need it anymore as we stopped talking SMTP
markus schnalke [Tue, 4 Oct 2011 17:04:28 +0000 (19:04 +0200)]
Removed TLS support. We don't need it anymore as we stopped talking SMTP
Libcrypto and thelike went away also, as they were needed only for TLS.

10 years agoRemoved SASL support. We don't need it anymore because we talk SMTP no more
markus schnalke [Tue, 4 Oct 2011 16:53:49 +0000 (18:53 +0200)]
Removed SASL support. We don't need it anymore because we talk SMTP no more

10 years agoRemoved the MTS and post; now we always use /usr/sbin/sendmail -t
markus schnalke [Tue, 4 Oct 2011 16:36:14 +0000 (18:36 +0200)]
Removed the MTS and post; now we always use /usr/sbin/sendmail -t
Mmh won't talk SMTP (nor POP).
Also moved OfficialName() from /mts/smtp/hosts.c to sbr/addrsbr.c.

10 years agoRemoved --with-smtpservers configure option and thelike
markus schnalke [Tue, 4 Oct 2011 14:14:46 +0000 (16:14 +0200)]
Removed --with-smtpservers configure option and thelike

10 years agoRemoved all POP support
markus schnalke [Tue, 4 Oct 2011 13:27:47 +0000 (15:27 +0200)]
Removed all POP support
To retrieve mail from POP servers use external tools, e.g. fetchmail.

10 years agoWe'll always use sendmail (spost) now
markus schnalke [Wed, 28 Sep 2011 14:17:08 +0000 (16:17 +0200)]
We'll always use sendmail (spost) now

10 years agoInstall to /usr/local/mmh
markus schnalke [Wed, 28 Sep 2011 10:00:00 +0000 (12:00 +0200)]
Install to /usr/local/mmh

10 years agoThis is the birth of mmh. :-)
markus schnalke [Fri, 9 Sep 2011 19:05:43 +0000 (21:05 +0200)]
This is the birth of mmh. :-)

11 years agoWhoops, user & port were in the wrong order so msgchk didn't work for POP mmh-start
Ken Hornstein [Wed, 13 Apr 2011 14:50:49 +0000 (10:50 -0400)]
Whoops, user & port were in the wrong order so msgchk didn't work for POP

11 years agoUpdated the developer README with a few notes about the git conversion.
Ken Hornstein [Tue, 22 Feb 2011 01:44:30 +0000 (20:44 -0500)]
Updated the developer README with a few notes about the git conversion.

Signed-off-by: Ken Hornstein <>

11 years agoSigned-off-by: Ken Hornstein <>
Paul Vixie [Mon, 7 Feb 2011 19:13:54 +0000 (14:13 -0500)]
Signed-off-by: Ken Hornstein <>

More documentation about the hooks support.

11 years agoClean up code in inc.c
Peter Maydell [Tue, 21 Dec 2010 16:50:24 +0000 (16:50 +0000)]
Clean up code in inc.c

Clean up the confusing use of a variable 'i' in inc.c.
The case where it was being used as 'an error occurred
which means we should not truncate the mailspool' is now
called 'incerr' and merged with the equivalent 'p' variable
used in the POP-specific code. Cases where it was being
used as a random temporary are still called 'i' but now
declared with a much more restricted scope.
This fixes a compilation warning for some compilers.

Signed-off-by: Peter Maydell <>

11 years agoSuppress tsort diagnostic waffle
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Suppress tsort diagnostic waffle

tsort produces waffle to standard error if it detects loops in its input.
For our purposes in ordering object files this is harmless, so just send
it all to /dev/null.

Signed-off-by: Peter Maydell <>

11 years agoFix unused-function warnings in lex output
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Fix unused-function warnings in lex output

Fix the unused-function warnings in the output of lex. In particular, we
silence a warning about yyunput being static but unused by exposing it as
a global function. This costs us a few hundred bytes in the binary but
the other available solutions are flex-specific or more complicated.
YY_NO_UNPUT used to silence this but no longer works in recent flex.
On the other hand YY_NO_INPUT does work to silence warnings about input().

Signed-off-by: Peter Maydell <>

11 years agoFix used-uninitialised warning in fmt_rfc2047.c
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Fix used-uninitialised warning in fmt_rfc2047.c

Fix a used-uninitialised warning in fmt_rfc2047.c.
I don't think it can actually be used uninitialised, but the
code is too complicated for the compiler to realise this.

Signed-off-by: Peter Maydell <>

11 years agoFix used-uninitialised warning in new.c
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Fix used-uninitialised warning in new.c

Fix a used-uninitialised warning in new.c by having the check_folders()
routine return first=last=NULL for empty folder lists. This is a more
sensible API anyway. (It would not actually have been possible for
the code to try to use last while it was uninitialised, as it happens.)

Signed-off-by: Peter Maydell <>

11 years agoFix crash if fnext/fprev are given an empty folder list
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Fix crash if fnext/fprev are given an empty folder list

Add a check for a NULL pointer, which stops fnext/fprev
from segfaulting if given an empty folder list (for example
via 'fnext -folders emptyfile').

Signed-off-by: Peter Maydell <>

11 years agoFix warning in sbr/folder_addmsg.c by code cleanup
Peter Maydell [Mon, 20 Dec 2010 19:54:43 +0000 (19:54 +0000)]
Fix warning in sbr/folder_addmsg.c by code cleanup

Clean up some rather oddly written code in folder_addmsg()
so it is easier to understand for both humans and for the
compiler (and the compiler thus stops complaining about an
uninitialised variable).

Signed-off-by: Peter Maydell <>