Simplify and unify code
authorJoey Schulze <joey@infodrom.org>
Sun, 25 Nov 2007 19:09:56 +0000 (19:09 +0000)
committerJoey Schulze <joey@infodrom.org>
Sun, 25 Nov 2007 19:09:56 +0000 (19:09 +0000)
cgi.c

diff --git a/cgi.c b/cgi.c
index 5a3d7fd..95308b8 100644 (file)
--- a/cgi.c
+++ b/cgi.c
@@ -53,29 +53,25 @@ int cgiSetHeader (char *name, char *value)
 
     if (cgiHeaderString) {
        len = (strlen (cgiHeaderString) + cp-name + vp-value + 5) * sizeof (char);
-       if ((cgiHeaderString = (char *)realloc (cgiHeaderString,len)) == NULL)
+       if ((pivot = (char *)realloc (cgiHeaderString,len)) == NULL)
            return 0;
-       pivot = cgiHeaderString;
+       cgiHeaderString = pivot;
        pivot += strlen (cgiHeaderString);
-       strncpy (pivot, name, cp-name);
-       pivot[cp-name] = ':';
-       pivot[cp-name+1] = ' ';
-       pivot[cp-name+2] = '\0';
-       strncat (pivot, value, vp-value);
-       pivot[cp-name+2+vp-value] = '\r';
-       pivot[cp-name+2+vp-value+1] = '\n';
     } else {
        len = (cp-name + vp-value + 5) * sizeof (char);
        if ((cgiHeaderString = (char *)malloc (len)) == NULL)
            return 0;
-       strncpy (cgiHeaderString, name, cp-name);
-       cgiHeaderString[cp-name] = ':';
-       cgiHeaderString[cp-name+1] = ' ';
-       cgiHeaderString[cp-name+2] = '\0';
-       strncat (cgiHeaderString, value, vp-value);
-       cgiHeaderString[cp-name+2+vp-value] = '\r';
-       cgiHeaderString[cp-name+2+vp-value+1] = '\n';
+       pivot = cgiHeaderString;
     }
+
+    strncpy (pivot, name, cp-name);
+    pivot[cp-name] = ':';
+    pivot[cp-name+1] = ' ';
+    pivot[cp-name+2] = '\0';
+    strncat (pivot, value, vp-value);
+    pivot[cp-name+2+vp-value] = '\r';
+    pivot[cp-name+2+vp-value+1] = '\n';
+
     return 1;
 }