changeset 120:154b486fefd5

When retrieving header info, make sure to get all headers since we might have e.g. several To: headers.
author mmj
date Sat, 29 May 2004 23:36:19 +1000
parents 00a00cf394e7
children bd18a247ae4a
files src/do_all_the_voodo_here.c
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/do_all_the_voodo_here.c	Sat May 29 20:44:21 2004 +1000
+++ b/src/do_all_the_voodo_here.c	Sat May 29 23:36:19 2004 +1000
@@ -42,13 +42,16 @@
 		tokenlen = strlen(readhdrs[i].token);
 		linelen = strlen(line);
 		if(strncmp(line, readhdrs[i].token, tokenlen) == 0) {
+			readhdrs[i].valuecount++;
 			valuelen = linelen - tokenlen + 1;
-			if(!readhdrs[i].value) {
-				readhdrs[i].value = malloc(valuelen + 1);
-				memcpy(readhdrs[i].value, line+tokenlen,
-						valuelen);
-			}
-			chomp(readhdrs[i].value);
+			readhdrs[i].values =
+				(char **)realloc(readhdrs[i].values,
+				  readhdrs[i].valuecount * sizeof(char *));
+			readhdrs[i].values[readhdrs[i].valuecount - 1] =
+					(char *)malloc(valuelen + 1);
+			strncpy(readhdrs[i].values[readhdrs[i].valuecount - 1],
+						line+tokenlen, valuelen);
+			chomp(readhdrs[i].values[readhdrs[i].valuecount - 1]);
 		}
 		i++;
 	}