mmh
13 months agoThis is mmh-0.3 mmh-0.3
Philipp Takacs [Sun, 14 Aug 2016 22:21:12 +0000 (00:21 +0200)]
This is mmh-0.3

13 months agofix whatnow2 send
Philipp Takacs [Sun, 14 Aug 2016 22:11:39 +0000 (00:11 +0200)]
fix whatnow2 send

in the last commit whatnow2 send was changed
to keep the metafile. This don't work with the
``exec send''. Now the send() is renamed to
sendfunktion and the ``exec'' is removed.

13 months agodel metafile in whatnow2 only if send don't fail
Philipp Takacs [Sun, 14 Aug 2016 20:36:55 +0000 (22:36 +0200)]
del metafile in whatnow2 only if send don't fail

If send fails, you want to keep the metafile. Without this dist wold
only work, if send works on the first time. Also some metainfo don't
get lost.

13 months agotouch the DISTINCLUDE in mmhdist target
Philipp Takacs [Sun, 14 Aug 2016 15:31:50 +0000 (17:31 +0200)]
touch the DISTINCLUDE in mmhdist target

This avoids rebuilding this files. So autoconf and flex
is not need for a normal user.

13 months agoAdd "delete" to "delete" pattern in whatnow2's case construct
m@mmmmarascio.xyz [Fri, 12 Aug 2016 16:00:05 +0000 (09:00 -0700)]
Add "delete" to "delete" pattern in whatnow2's case construct

The attached patch modifies whatnow2 so that calling `whatnow2 delete`
works as may be expected.  Without this change, the "delete" function
in whatnow2 was called only when whatnow2 was executed as one of the
following.

* whatnow2 del
* whatnow2 dele
* whatnow2 delet

13 months agobetter error handling in whatnow2
Philipp Takacs [Fri, 12 Aug 2016 16:11:11 +0000 (18:11 +0200)]
better error handling in whatnow2

if the command is unknown then usage is printed and if usage is
called with an argument other then 0 exit 1 is forced.

13 months agofix bug in decode_rfc2047()
Philipp Takacs [Fri, 12 Aug 2016 15:43:05 +0000 (17:43 +0200)]
fix bug in decode_rfc2047()

If iconv() returns an error and the source encoding
is utf-8, the character jump has an of by one: the
source string is incresed by one possition more the
the length is decreased.

13 months agoUpdate comment in script concerning the VCS
markus schnalke [Fri, 12 Aug 2016 08:07:07 +0000 (10:07 +0200)]
Update comment in script concerning the VCS

We're not using CVS anymore, but a VCS -- doesn't matter which one.

13 months agofix dist
Philipp Takacs [Thu, 11 Aug 2016 15:22:49 +0000 (17:22 +0200)]
fix dist

Because of always mimeify the dist hasn't work anymore.
This is fixed by skipping attach() and signandenc(), if
it's handled as a redistribution message.

13 months agoAdd more tests to tests/test-send-mimeify
markus schnalke [Wed, 10 Aug 2016 17:25:53 +0000 (19:25 +0200)]
Add more tests to tests/test-send-mimeify

13 months agoFix typo in whatnow2 function "display"
m@mmmmarascio.xyz [Mon, 8 Aug 2016 23:14:50 +0000 (16:14 -0700)]
Fix typo in whatnow2 function "display"

The attached patch fixes a typo in the whatnow2's "display" function.
[ -z instand of [ -n for a check if a variable is empty.

13 months agoadd a test for repl on a ASCII only system
Philipp Takacs [Sun, 7 Aug 2016 19:57:30 +0000 (21:57 +0200)]
add a test for repl on a ASCII only system

This should create the same output as with utf-8.
But the Umlaut should be displayed as '?'. This isn't
the case at the moment.

13 months agoFix typo in whatnow2.sh
m@mmmmarascio.xyz [Sat, 6 Aug 2016 21:13:18 +0000 (14:13 -0700)]
Fix typo in whatnow2.sh

command call is done with `command` not "command"

13 months agoTest if MIME creation works
Philipp Takacs [Sat, 6 Aug 2016 16:08:58 +0000 (18:08 +0200)]
Test if MIME creation works

Test if send uses mhbuild only, if it is usefull. A message
already in MIME-Formate should not cause a fail.

13 months agounset MM_CHARSET in tests/scan/test-scan-multibyte
Philipp Takacs [Sat, 6 Aug 2016 15:07:11 +0000 (17:07 +0200)]
unset MM_CHARSET in tests/scan/test-scan-multibyte

If MM_CHARSET is set to anything other then ascii this
test probaly fail, but the test is mean to run on a ascii
only envirement.

13 months agoAdjust tests/bad-input/test-header for m_gefld2()
Philipp Takacs [Sat, 6 Aug 2016 15:05:57 +0000 (17:05 +0200)]
Adjust tests/bad-input/test-header for m_gefld2()

With the m_gefld2 change mmh ignores more errors. This causes
a diffrent behaviour in some cases.

13 months agoFix tests/mhparam/test-mhparam
m@mmmmarascio.xyz [Fri, 5 Aug 2016 02:15:42 +0000 (19:15 -0700)]
Fix tests/mhparam/test-mhparam

The behaviour of readconfig() has changed. This causes
another behaviour for mhparam.

13 months agosend: Always MIMEify and pass already MIMIfied drafts through
markus schnalke [Fri, 5 Aug 2016 19:46:55 +0000 (21:46 +0200)]
send: Always MIMEify and pass already MIMIfied drafts through

Even if technically not necessary, MIMEify the draft. This simplifies
the code at hardly any cost.

To still be able to create arbitrary complex MIME structures, make
send(1) pass already MIMEified drafts through, without automatically
invoking mhbuild(1) on them a second time (which would fail). This
way, you can manually invoke mhbuild(1) and afterward call send(1)
... and everything will work just as expected.

Also documented this in the man page, and additionally added a
paragraph about the signing and encrypting feature of send(1), which
wasn't documented yet.

13 months agomhsign should work now
Philipp Takacs [Mon, 1 Aug 2016 11:14:47 +0000 (13:14 +0200)]
mhsign should work now

13 months agoAllow send(1) to send from folder other than +drafts
markus schnalke [Fri, 29 Jul 2016 09:18:36 +0000 (11:18 +0200)]
Allow send(1) to send from folder other than +drafts

This allows having multiple draft folders or queueing drafts
for automatic sending.

13 months agosome small fixes for whatnow2.sh
Philipp Takacs [Sat, 30 Jul 2016 22:05:05 +0000 (00:05 +0200)]
some small fixes for whatnow2.sh

some bugs fixes most found by markus

13 months agoEnable inc(1) to read from stdin
m@mmmmarascio.xyz [Mon, 1 Aug 2016 09:25:57 +0000 (11:25 +0200)]
Enable inc(1) to read from stdin

The -file switch handles the argument "-" special and reads
from stdin in this case.

13 months agoadd my whatnow replacement whatnow2
Philipp Takacs [Sat, 27 Feb 2016 18:58:42 +0000 (19:58 +0100)]
add my whatnow replacement whatnow2

whatnow2 is tool which acts like whatnow, but
don't trap the user in it.

13 months agomhsign/mhpgp: Clarify the manpages and usage lines
markus schnalke [Fri, 29 Jul 2016 09:42:59 +0000 (11:42 +0200)]
mhsign/mhpgp: Clarify the manpages and usage lines

These tools are shell scripts and thus have a different option
processing mechanism than the other mmh tools. Unfortunately, it
is limited: Options must come first.

Also note that mhpgp accepts a +folder argument, and what the
defaults are.

13 months agoUpdate manpages send(1) and mh-draft(7)
markus schnalke [Thu, 28 Jul 2016 22:28:58 +0000 (00:28 +0200)]
Update manpages send(1) and mh-draft(7)

Documented the actual behavior and homogenized the style.

14 months agoRemove extra space from 'From' line when writing to mbox
Vasily Kolobkov [Thu, 9 Jun 2016 12:30:30 +0000 (14:30 +0200)]
Remove extra space from 'From' line when writing to mbox

14 months agoFix header lookup table setup in slocal(1)
Vasily Kolobkov [Sun, 5 Jun 2016 22:08:14 +0000 (00:08 +0200)]
Fix header lookup table setup in slocal(1)

14 months agosimplify whatnow.c/main() function
Dmitry Bogatov [Thu, 14 Jul 2016 22:39:37 +0000 (01:39 +0300)]
simplify whatnow.c/main() function

GNU Complexity: 60 -> 59.

16 months agouse old error message
Philipp Takacs [Sun, 8 May 2016 16:40:51 +0000 (18:40 +0200)]
use old error message

16 months agodon't warn if lenerr is ignored
Philipp Takacs [Sun, 8 May 2016 16:21:34 +0000 (18:21 +0200)]
don't warn if lenerr is ignored

16 months agobetter error handling
Philipp Takacs [Mon, 25 Apr 2016 14:19:54 +0000 (16:19 +0200)]
better error handling

only warn for LENERR2, or ignore it in some cases

16 months agofork in repl as a tree
Philipp Takacs [Wed, 16 Mar 2016 02:06:03 +0000 (03:06 +0100)]
fork in repl as a tree

This fix the bug in the last improvement (pipe mail through show).
In the first patch repl only waits for one child, now the tree causes
that both childs finished befor repl continues.

16 months agofix 2fb1dd2271e5be9d0b0c9cbd4e7d6d5d51aaecb9
Philipp Takacs [Sun, 24 Apr 2016 12:19:05 +0000 (14:19 +0200)]
fix 2fb1dd2271e5be9d0b0c9cbd4e7d6d5d51aaecb9

Do a length check in the header, but not in the body.

16 months agofixup for 2a903a43ad7d26f5581d4ad1bbc077f8ecc5f5a9
Philipp Takacs [Sun, 24 Apr 2016 10:39:30 +0000 (12:39 +0200)]
fixup for 2a903a43ad7d26f5581d4ad1bbc077f8ecc5f5a9

a spell error hapend in uip/spost.c: state not status

16 months agocheck for to long lines and ioerror in spost
Philipp Takacs [Sun, 24 Apr 2016 10:29:32 +0000 (12:29 +0200)]
check for to long lines and ioerror in spost

Now spost stop and exit if some error happend. Befor this
spost stoped on an error in the body and submitted a half
mail.

16 months agocheck for linecap and trailing space in mhbuild for text/plain
Philipp Takacs [Sat, 23 Apr 2016 18:50:43 +0000 (20:50 +0200)]
check for linecap and trailing space in mhbuild for text/plain

without this a mail with too long lines can be created, or
trailing space is removed by mhsign.

16 months agoignore LENERR2 in seq_read()
Philipp Takacs [Sat, 23 Apr 2016 18:48:45 +0000 (20:48 +0200)]
ignore LENERR2 in seq_read()

this is unnecessary and brings problems because
sequences aren't created with a linecap.

16 months agoadjust handling of too long lines in m_getfld2
Philipp Takacs [Sat, 23 Apr 2016 18:46:20 +0000 (20:46 +0200)]
adjust handling of too long lines in m_getfld2

Now a field is complete read, if a line is to long.
Also no length check is done in the body, because
the caller can check f.valuelength.

16 months agoFix for commit bd02210b2be64956a952f925a2dcd35fb42f6136
markus schnalke [Sun, 24 Apr 2016 08:59:10 +0000 (10:59 +0200)]
Fix for commit bd02210b2be64956a952f925a2dcd35fb42f6136

17 months agoMerge branch 'm_getfld2-meillo' into master
Philipp Takacs [Fri, 22 Apr 2016 22:56:56 +0000 (00:56 +0200)]
Merge branch 'm_getfld2-meillo' into master

17 months agomhsign: Fix key lookup of aliases when encrypting
markus schnalke [Fri, 22 Apr 2016 10:46:33 +0000 (12:46 +0200)]
mhsign: Fix key lookup of aliases when encrypting

Now mhsign can handle addresses that contain whitespace (e.g.
``markus schnalke <meillo@marmaro.de>'') in aliases. The helper
tool ap(1) is used to extract the actual addresses.

17 months agorefile: Never change the current folder
markus schnalke [Thu, 21 Apr 2016 14:43:25 +0000 (16:43 +0200)]
refile: Never change the current folder

Refile is different to all other tools, as its +folder arguments
are destination folders, not source folders (it even supports
multiple of them). A source folder can be specified with -src.
Refile used to change the current folder to the source folder.
It does not do so anymore.

Most often the current folder is used as the source folder; this is
the default. Hence changing the current folder is a no-op. But if
one refiles from some other source folder, changing to that folder
is seldom useful. Consider the scenario where one wants to collect
the last messages of a set of folders in some other folder. The
old behavior required to know where you are to collect the messages,
because after the first refile you'd be somewhere else:

for i in one two three ; do
refile -src +$i l +lastmsgs
done
# now we are in +three, hence go back where we were
folder +lastmsgs

The new behavior allows to move the messages just here (@), no
matter where that is:

for i in one two three ; do
refile -src +one l @
done
# now we still are where we were

Refiling actions do no more affect the current folder, hence one
may securely refile with different -src +folder many times in one
row, without having to care for changing locations.

17 months agorefile: Fix an error message; always use braces; add/remove comments
markus schnalke [Thu, 21 Apr 2016 14:03:23 +0000 (16:03 +0200)]
refile: Fix an error message; always use braces; add/remove comments

17 months agoFix order of (trim) and (decode) in repl*comps
markus schnalke [Wed, 20 Apr 2016 07:02:06 +0000 (09:02 +0200)]
Fix order of (trim) and (decode) in repl*comps

Before MH had (decode), the format escapes used to be:
%(void{comp})%(trim)%(putstr)
i.e. set the internal str register to the component text, trim
trailing whitespace from it, then print the value. Later (putstr)
was simply replaced by (decode), which first RFC-2047 decodes the
string and then prints it (if it is the outermost function). That
almost always produced the correct result. But this way the
whitespace trimming is done at the wrong point. Correct is to first
decode the string and then trim it. tests/scan/test-mh-format
checks for that.

17 months agoTrim trailing whitespace in scan and show
markus schnalke [Wed, 20 Apr 2016 06:54:20 +0000 (08:54 +0200)]
Trim trailing whitespace in scan and show

This commit fixes the most common scan listings. Still trailing
whitespace will be generated by legacy scan listings.

The formatfield workaround in etc/mhl.headers is a bit clumsy.
Maybe, an mhl variable should be defined for this case ... or
better not, to keep the mh-format and the mhl functions orthogonal.

17 months agoMake default scan/inc listing file-based
markus schnalke [Wed, 20 Apr 2016 06:19:24 +0000 (08:19 +0200)]
Make default scan/inc listing file-based

There's now a new format file etc/scan.default, which contains
the default scan listing. Previously it was hard-coded as a define
in h/scansbr.h. The default scan listing format can be set in
config/config.h and can be queried with `mhparam scanformat'.

17 months agoCleanup manpage mh-format(5)
markus schnalke [Tue, 19 Apr 2016 14:15:10 +0000 (16:15 +0200)]
Cleanup manpage mh-format(5)

- More suitable scan listing examples
- Adjust paths
- There are no ``local mh experts'' anymore in the mmh world
- Add overview on the escape types
- %(decode) does print str as well
- Decode Subject header in the example
- Further minor stuff

17 months agoEnable addr decoding in replcomps and replgroupcomps
markus schnalke [Mon, 18 Apr 2016 07:13:15 +0000 (09:13 +0200)]
Enable addr decoding in replcomps and replgroupcomps

17 months agoTests: mmh currently generates a part line, so expect it
markus schnalke [Mon, 18 Apr 2016 06:47:17 +0000 (08:47 +0200)]
Tests: mmh currently generates a part line, so expect it

17 months agoFix spelling and encoding errors in manpages and an error message
Dmitry Bogatov [Wed, 13 Apr 2016 18:36:29 +0000 (21:36 +0300)]
Fix spelling and encoding errors in manpages and an error message

17 months agotest also libtinfo for modf
Jan Düpmeier [Wed, 13 Apr 2016 16:22:37 +0000 (18:22 +0200)]
test also libtinfo for modf

Some Gentoo instalations has this instand of ncurses

17 months agoReplace getcpy() and strdup() with mh_xstrdup()
m@mmmmarascio.xyz [Mon, 4 Apr 2016 04:33:34 +0000 (21:33 -0700)]
Replace getcpy() and strdup() with mh_xstrdup()

this harmonise the code.

Also fix some bugs, if return value of strdup is not checked.

17 months agosimple mbox support for rcvstore
Philipp Takacs [Sun, 31 Jan 2016 18:47:23 +0000 (19:47 +0100)]
simple mbox support for rcvstore

Some MTA(opensmtpd) add a ``From '' line ad the head of
mails befor handling the mail to a .forwoad MDA. m_getfld2
don't support such mails, so rcvstore should handle this
mbox-like mails.

17 months agoReplace free() with mh_free0()
m@mmmmarascio.xyz [Tue, 22 Mar 2016 03:28:44 +0000 (20:28 -0700)]
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.

17 months agoremove unnecessary casts
m@mmmmarascio.xyz [Thu, 17 Mar 2016 15:16:26 +0000 (08:16 -0700)]
remove unnecessary casts

These casts after malloc just make the code harder to read

18 months agoReplace mh_xmalloc() with mh_xcalloc()
m@mmmmarascio.xyz [Mon, 14 Mar 2016 16:29:35 +0000 (09:29 -0700)]
Replace mh_xmalloc() with mh_xcalloc()

calloc() is safer, because it initialize the memory to zero.

18 months agoCall context_read() before getting filter in repl
m@mmmmarascio.xyz [Sun, 13 Mar 2016 15:49:35 +0000 (08:49 -0700)]
Call context_read() before getting filter in repl

The manual page of repl says "[i]f a file named `mhl.reply' exists in the
user's mmh directory, it will be used instead of [the default form file]".
Now this behavior is implement.

18 months agocheck return value of m_getfld2 befor using the field
Philipp Takacs [Sat, 27 Feb 2016 14:45:26 +0000 (15:45 +0100)]
check return value of m_getfld2 befor using the field

this bug causes a segfault, because the field.value is a
nullptr if FILEEOF2 is returned.

20 months agopipe mail throu show on repl
Philipp Takacs [Sun, 17 Jan 2016 13:19:11 +0000 (14:19 +0100)]
pipe mail throu show on repl

now repl works as expected for MIME-messages

20 months agoAdd existing "From:" to Bcc-ed messages.
m@mmmmarascio.xyz [Thu, 14 Jan 2016 21:41:26 +0000 (14:41 -0700)]
Add existing "From:" to Bcc-ed messages.

If you use multible mailboxes, the correct one is
now used for Bcc-messages.

20 months agofix profile path in mhl(1)
Philipp Takacs [Thu, 7 Jan 2016 13:23:34 +0000 (14:23 +0100)]
fix profile path in mhl(1)

20 months agoChange some "nmh" into "mmh" in man pages
m@mmmmarascio.xyz [Tue, 5 Jan 2016 02:47:00 +0000 (19:47 -0700)]
Change some "nmh" into "mmh" in man pages

This is to avoid confusion between nmh and mmh

21 months agoUse boolean instand of bool
Philipp Takacs [Sun, 13 Dec 2015 16:20:33 +0000 (17:20 +0100)]
Use boolean instand of bool

21 months agoRevert "add free_field as standard for struct field"
Philipp Takacs [Sun, 13 Dec 2015 16:14:38 +0000 (17:14 +0100)]
Revert "add free_field as standard for struct field"

This is not necesary, because the compieler have to take care
about NULL != (void*)0

This reverts commit a87df3543d3bc128ba4079d1f95638476ba5ca50.

21 months agofix lengthcheck in m_getfld2()
Philipp Takacs [Fri, 27 Nov 2015 10:59:03 +0000 (11:59 +0100)]
fix lengthcheck in m_getfld2()

The lenght check akcepted to big field names

21 months agofix segfault in prompter
Philipp Takacs [Fri, 27 Nov 2015 10:54:24 +0000 (11:54 +0100)]
fix segfault in prompter

This was necesary because m_getfld2() clears now f.value
if FILEEOF2 is reached

21 months agoadd free_field as standard for struct field
Philipp Takacs [Thu, 26 Nov 2015 22:24:18 +0000 (23:24 +0100)]
add free_field as standard for struct field

this is a easy way to initializ a struct field. ``{{0}}''
can lead to bugs, because NULL is not necesary ``((void *)0)''

21 months agom_getfld2 is more tranceparent on error
Philipp Takacs [Thu, 26 Nov 2015 22:07:12 +0000 (23:07 +0100)]
m_getfld2 is more tranceparent on error

now all read content of the file is given to the caller,
so he can possible fix this error.

21 months agomake m_getfld2() aware of CRLF lineendings
Philipp Takacs [Sat, 21 Nov 2015 11:20:36 +0000 (12:20 +0100)]
make m_getfld2() aware of CRLF lineendings

22 months agomake m_getfld2() called with an error state a noop
Philipp Takacs [Sat, 21 Nov 2015 11:16:01 +0000 (12:16 +0100)]
make m_getfld2() called with an error state a noop

This probduce some code dublication, but the will be
reduced, if we make m_getfld2() more transparent on errors.

22 months agoFinally we get rid of the unmaintainable m_getfld()!
markus schnalke [Thu, 12 Nov 2015 20:48:32 +0000 (21:48 +0100)]
Finally we get rid of the unmaintainable m_getfld()!

m_getfld() was about 700 lines, 300 of them being comments -- that's 42%!
m_getfld2() is 240 lines, 30 of them being comments. That's only half as
much code. Most important, however, is that this code is understandable
and thus maintainable. We escaped the dead end of the heavily optimized
m_getfld() be re-writing it from scratch. (Thanks to Philipp Tacaks!)

m_getfld2() is line-based and not character-based like m_getfld(). This
change spared us to keep digging into stdio internals or implementing
our own I/O buffering. We are now portable to any standard-conforming
stdio implementation.

22 months agoAdjust tests to m_getfld2() and write some more
markus schnalke [Thu, 12 Nov 2015 19:58:03 +0000 (20:58 +0100)]
Adjust tests to m_getfld2() and write some more

m_getfld2() is more strict than m_getfld() and does less guessing.

22 months agoOnly lines consisting of nothing but dashes are body separators
markus schnalke [Thu, 12 Nov 2015 19:12:02 +0000 (20:12 +0100)]
Only lines consisting of nothing but dashes are body separators

This is how the documentation specifies it, see mh-mail(5). The old
m_getfld(), however, was more relaxed and treated any header line that
starts with a dash as the body separator. We are more strict here,
because ``-foo: bar'' is a valid header line (according to RFC 2822),
that should thus not be treated as the body separator, whereas a line
``------'' in the header could only be a format error if we don't
take it as the body separator.

22 months agoConvert inc and scan from m_getfld() to m_getfld2()
markus schnalke [Thu, 12 Nov 2015 16:52:22 +0000 (17:52 +0100)]
Convert inc and scan from m_getfld() to m_getfld2()

The main conversion was done in uip/scansbr.c.

Mbox handling is now completely outside of m_getfld2(), which does not
even know about From_ lines.

No more need to call thisisanmbox() (formerly m_unknown(), ``the magic
invocation'') before calling scan().

The newly introduced gotos should be eliminated ...

22 months agoConvert rcvdist and repl from m_getfld() to m_getfld2()
markus schnalke [Thu, 12 Nov 2015 16:05:53 +0000 (17:05 +0100)]
Convert rcvdist and repl from m_getfld() to m_getfld2()

22 months agom_getfld2: Return line for LENERR2, plus some documentation
markus schnalke [Thu, 12 Nov 2015 16:03:36 +0000 (17:03 +0100)]
m_getfld2: Return line for LENERR2, plus some documentation

22 months agom_getfld2: ERR2 means a read error, thus name it IOERR2
markus schnalke [Thu, 12 Nov 2015 07:23:04 +0000 (08:23 +0100)]
m_getfld2: ERR2 means a read error, thus name it IOERR2

22 months agom_getfld2: Whitespace in component name is forbidden
markus schnalke [Thu, 12 Nov 2015 07:14:59 +0000 (08:14 +0100)]
m_getfld2: Whitespace in component name is forbidden

Also on style: No function calls should be used to initialize
variables in definition statements. Use separate assignments in
this case.

22 months agoUse continue instead of one long if for the whole loop body
markus schnalke [Wed, 11 Nov 2015 06:31:00 +0000 (07:31 +0100)]
Use continue instead of one long if for the whole loop body

Plus remove unnecessary comments. This improves the signal-noise ratio.
The identifiers are already telling us enough.

22 months agoReturn invalid line for FMTERR in m_getfld2()
markus schnalke [Tue, 10 Nov 2015 19:58:31 +0000 (20:58 +0100)]
Return invalid line for FMTERR in m_getfld2()

This is necessary for mbox handling outside of m_getfld2().

22 months agoNo error-checking for error-checking alloc functions
markus schnalke [Tue, 10 Nov 2015 05:53:44 +0000 (06:53 +0100)]
No error-checking for error-checking alloc functions

The mh_x(m|c|re)alloc function always return successful
... or terminate the program on their own, otherwise.

22 months agocheck for (un)selection befor (un)set
Philipp Takacs [Fri, 6 Nov 2015 10:30:51 +0000 (11:30 +0100)]
check for (un)selection befor (un)set

If you select or unselect the same msgnum
numsel won't be increased/decreased twice.

22 months agohandle hghsel lowsel and numsel in (un)set_selected
Philipp Takacs [Thu, 5 Nov 2015 21:48:34 +0000 (22:48 +0100)]
handle hghsel lowsel and numsel in (un)set_selected

Now you can use this funkitions without taking care
of this values.

Thanks c_14 for reporting this bug.

22 months agoNo error-checking for error-checking alloc functions
markus schnalke [Tue, 10 Nov 2015 05:53:44 +0000 (06:53 +0100)]
No error-checking for error-checking alloc functions

The mh_x(m|c|re)alloc function always return successful
... or terminate the program on their own, otherwise.

22 months agoFix minor typo in man page
markus schnalke [Mon, 9 Nov 2015 18:17:09 +0000 (19:17 +0100)]
Fix minor typo in man page

22 months agoAdjust the tests to less tolerant m_getfld2()
markus schnalke [Mon, 9 Nov 2015 21:08:51 +0000 (22:08 +0100)]
Adjust the tests to less tolerant m_getfld2()

We require the header and body to be separated by an empty line.
We require header lines to end with a newline. m_getfld2() does
not try to guess as much as the old m_getfld() did.

22 months agoConvert most of the tools from m_getfld() to m_getfld2()
markus schnalke [Mon, 9 Nov 2015 21:07:54 +0000 (22:07 +0100)]
Convert most of the tools from m_getfld() to m_getfld2()

22 months agoAdd new implementation m_getfld2()
markus schnalke [Mon, 9 Nov 2015 21:03:40 +0000 (22:03 +0100)]
Add new implementation m_getfld2()

This is mainly Philipp Takacs work.

22 months agoFix minor typo in man page
markus schnalke [Mon, 9 Nov 2015 18:17:09 +0000 (19:17 +0100)]
Fix minor typo in man page

22 months agocheck for (un)selection befor (un)set
Philipp Takacs [Fri, 6 Nov 2015 10:30:51 +0000 (11:30 +0100)]
check for (un)selection befor (un)set

If you select or unselect the same msgnum
numsel won't be increased/decreased twice.

22 months agohandle hghsel lowsel and numsel in (un)set_selected
Philipp Takacs [Thu, 5 Nov 2015 21:48:34 +0000 (22:48 +0100)]
handle hghsel lowsel and numsel in (un)set_selected

Now you can use this funkitions without taking care
of this values.

Thanks c_14 for reporting this bug.

22 months agoBetter description of the Sender header in man page
markus schnalke [Wed, 4 Nov 2015 16:31:50 +0000 (17:31 +0100)]
Better description of the Sender header in man page

Plus wording improvements and other minor stuff.

22 months agoRe-add --with-lockdir=DIR configure option
markus schnalke [Tue, 3 Nov 2015 07:47:26 +0000 (08:47 +0100)]
Re-add --with-lockdir=DIR configure option

At the same time eliminate acconfig.h (and thus the autoreconf
warning).

Include the lock dir string only if we use dot locking.

22 months agoMore sensible check for 7bit ASCII
markus schnalke [Tue, 3 Nov 2015 07:37:57 +0000 (08:37 +0100)]
More sensible check for 7bit ASCII

Always true condition reported by -Wextra -pendatic.

22 months agoRemove unused parameter
markus schnalke [Tue, 3 Nov 2015 07:36:45 +0000 (08:36 +0100)]
Remove unused parameter

Reported by -Wextra -pedantic.

22 months agoRemove dead code: FLDEOF and BODYEOF are never set
markus schnalke [Tue, 3 Nov 2015 09:57:07 +0000 (10:57 +0100)]
Remove dead code: FLDEOF and BODYEOF are never set

22 months agoBump version number
markus schnalke [Mon, 2 Nov 2015 16:51:32 +0000 (17:51 +0100)]
Bump version number

22 months agoThis is mmh-0.2 mmh-0.2
markus schnalke [Mon, 2 Nov 2015 16:38:44 +0000 (17:38 +0100)]
This is mmh-0.2

22 months agoDecode address headers in replcomps
markus schnalke [Mon, 2 Nov 2015 16:37:13 +0000 (17:37 +0100)]
Decode address headers in replcomps

22 months agoUpdate README and release howto to new NEWS file
markus schnalke [Mon, 2 Nov 2015 16:17:40 +0000 (17:17 +0100)]
Update README and release howto to new NEWS file

Also reorder the release steps to first check the tarball and
then tag it as final.