diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2016-07-25 13:10:35 +0200 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2016-07-25 13:10:35 +0200 |
commit | 182a32ff9dc06805995248a8ed09e4fcf0f46c2c (patch) | |
tree | ff142254d249c2cc6dcaa34bc2bb3be340486274 | |
parent | e747879e0ea46fdfb748a90b91ac11cd16dca7f5 (diff) | |
download | mblaze-182a32ff9dc06805995248a8ed09e4fcf0f46c2c.tar.gz mblaze-182a32ff9dc06805995248a8ed09e4fcf0f46c2c.tar.xz mblaze-182a32ff9dc06805995248a8ed09e4fcf0f46c2c.zip |
blaze822: blaze822_addr: return 0 when no address is found
Also return null pointers instead of empty strings.
-rw-r--r-- | blaze822.c | 17 | ||||
-rw-r--r-- | mscan.c | 4 | ||||
-rw-r--r-- | msort.c | 4 |
3 files changed, 12 insertions, 13 deletions
diff --git a/blaze822.c b/blaze822.c index 1011d29..4feddfc 100644 --- a/blaze822.c +++ b/blaze822.c @@ -146,14 +146,16 @@ blaze822_addr(char *s, char **dispo, char **addro) { static char disp[1024]; static char addr[1024]; -// char *disp = disp+sizeof disp; -// char *addr = addr+sizeof addr; char *c, *e; -// printf("RAW : |%s|\n", s); - while (iswsp(*s)) s++; + + if (!*s) { + if (dispo) *dispo = 0; + if (addro) *addro = 0; + return 0; + } c = disp; e = disp + sizeof disp; @@ -213,11 +215,8 @@ blaze822_addr(char *s, char **dispo, char **addro) *disp = 0; } -// printf("DISP :: |%s|\n", disp); -// printf("ADDR :: |%s|\n", addr); - - if (dispo) *dispo = disp; - if (addro) *addro = addr; + if (dispo) *dispo = *disp ? disp : 0; + if (addro) *addro = *addr ? addr : 0; return s; } diff --git a/mscan.c b/mscan.c index 8d9d335..b987120 100644 --- a/mscan.c +++ b/mscan.c @@ -123,9 +123,9 @@ oneline(char *file) if ((v = blaze822_hdr(msg, "from"))) { char *disp, *addr; blaze822_addr(v, &disp, &addr); - if (*disp) + if (disp) from = disp; - else if (*addr) + else if (addr) from = addr; else from = "(unknown)"; diff --git a/msort.c b/msort.c index 1526a05..6f72347 100644 --- a/msort.c +++ b/msort.c @@ -74,9 +74,9 @@ fetch_from(char *file) if (v) { char *disp, *addr; blaze822_addr(v, &disp, &addr); - if (*disp) + if (disp) from = strdup(disp); - else if (*addr) + else if (addr) from = strdup(addr); } |