summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/header.c4
-rw-r--r--src/request.c21
-rw-r--r--src/response.c4
3 files changed, 10 insertions, 19 deletions
diff --git a/src/header.c b/src/header.c
index 293f435..f3072ad 100644
--- a/src/header.c
+++ b/src/header.c
@@ -121,7 +121,7 @@ static int strieq(const char *a, const char *b)
         CASE(LAST_MODIFIED);        \
     } while(0)
 
-enum LibHTTPC_Header LibHTTPC_loadHeader(const char *header)
+enum LibHTTPC_HeaderType LibHTTPC_loadHeader(const char *header)
 {
 #define CASE(X) if (!strieq((S_##X), header)) return HEADER(X)
     CHECK();
@@ -129,7 +129,7 @@ enum LibHTTPC_Header LibHTTPC_loadHeader(const char *header)
     return HEADER(EXTENSION_HEADER);
 }
 
-const char *LibHTTPC_dumpHeader(enum LibHTTPC_Header header)
+const char *LibHTTPC_dumpHeader(enum LibHTTPC_HeaderType header)
 {
     switch (header)
     {
diff --git a/src/request.c b/src/request.c
index 6885b1f..3e017b7 100644
--- a/src/request.c
+++ b/src/request.c
@@ -53,23 +53,17 @@ struct LibHTTPC_Request *LibHTTPC_loadRequest(struct LibHTTPC_Request *request_b
         if (selfmalloc)
         {
             ++request_buf->header_count;
-
-            if (!request_buf->header_names)
-                request_buf->header_names = LibHTTPC_malloc(sizeof(char *));
-            else
-                request_buf->header_names = LibHTTPC_realloc(request_buf->header_names, sizeof(char *));
-
-            if (!request_buf->header_values)
-                request_buf->header_values = LibHTTPC_malloc(sizeof(char *));
+            if (!request_buf->headers)
+                request_buf->headers = LibHTTPC_malloc(sizeof(struct LibHTTPC_Header));
             else
-                request_buf->header_values = LibHTTPC_realloc(request_buf->header_values, sizeof(char *));
+                request_buf->headers = LibHTTPC_realloc(request_buf->headers, sizeof(struct LibHTTPC_Header));
         }
         if (i < request_buf->header_count)
         {
-            request_buf->header_names[i] = next;
+            request_buf->headers[i].name = next;
             next = strchr(next, ':');
             *next++ = '\0';
-            request_buf->header_values[i] = next;
+            request_buf->headers[i].value = next;
         }
     }
     request_buf->body = next + 2;
@@ -80,10 +74,7 @@ struct LibHTTPC_Request *LibHTTPC_loadRequest(struct LibHTTPC_Request *request_b
 void LibHTTPC_Request_(struct LibHTTPC_Request *request)
 {
     if (request->header_selfalloc)
-    {
-        free(request->header_names);
-        free(request->header_values);
-    }
+        free(request->headers);
     if (request->selfalloc)
         free(request);
 }
diff --git a/src/response.c b/src/response.c
index cdcaef3..96e27cf 100644
--- a/src/response.c
+++ b/src/response.c
@@ -27,9 +27,9 @@ char *LibHTTPC_dumpResponse(struct LibHTTPC_Response *response, char *buf, size_
     append("\r\n");
     for (size_t i = 0; i < response->header_count; ++i)
     {
-        append(response->header_names[i]);
+        append(response->headers[i].name);
         append(": ");
-        append(response->header_values[i]);
+        append(response->headers[i].value);
         append("\r\n");
     }
     append("\r\n");