about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2016-07-25 13:10:35 +0200
committerChristian Neukirchen <chneukirchen@gmail.com>2016-07-25 13:10:35 +0200
commit182a32ff9dc06805995248a8ed09e4fcf0f46c2c (patch)
treeff142254d249c2cc6dcaa34bc2bb3be340486274
parente747879e0ea46fdfb748a90b91ac11cd16dca7f5 (diff)
downloadmblaze-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.c17
-rw-r--r--mscan.c4
-rw-r--r--msort.c4
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);
 	}