mblaze

Unix utilities to deal with Maildir - my mirror
git clone https://pi.duncano.de/git/mblaze.git
Log | Files | Refs | README | COPYING

commit ef65274d43e7ab1d8a7f4fce353bb6a173bda987
parent c1ddd4816fcf1bcc5e1e2549d9354bab7d02a344
Author: Oliver Kiddle <okiddle@yahoo.co.uk>
Date:   Fri, 30 Jun 2017 17:40:22 +0200

seq: parse_relnum: fix for thread message syntax relative to . or $

With a message such as .^ specified, strtol() was used on the caret.
On Linux this worked by accident because strtol() doesn't return
an error but it fails on, e.g. FreeBSD. Furthermore, it was not
possible to specify relative offsets after $.

Diffstat:
seq.c | 9+++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/seq.c b/seq.c @@ -185,10 +185,11 @@ parse_relnum(char *a, long cur, long last, long *out) a = ".-1"; else if (strcmp(a, ".") == 0) a = ".+0"; - else if (strcmp(a, "$") == 0) - a = "-1"; - if (*a == '.') { + if (*a == '$') { + a++; + base = last; + } else if (*a == '.') { a++; base = cur; } else if (*a == '-') { @@ -198,7 +199,7 @@ parse_relnum(char *a, long cur, long last, long *out) } long d; - if (*a == ':') { + if (strchr(":=_^", *a)) { d = 0; b = a; } else {