diff --git a/include/utils/memory.h b/include/utils/memory.h index 105ff1d..4755cac 100644 --- a/include/utils/memory.h +++ b/include/utils/memory.h @@ -23,8 +23,12 @@ #ifndef __UTILS_MEMORY_H__ #define __UTILS_MEMORY_H__ +#define CSTRA(val) val, sizeof(val)-1 //!< Const STRing Argument + #define FREE(val) (ffree((void**)&(val))) void ffree(void **); #endif // __UTILS_MEMORY_H__ + +// vim: set ts=4 sw=4: diff --git a/src/http/message/has_keep_alive.c b/src/http/message/has_keep_alive.c index e92e575..c499e8b 100644 --- a/src/http/message/has_keep_alive.c +++ b/src/http/message/has_keep_alive.c @@ -28,6 +28,8 @@ #include "http/request.h" #include "http/header.h" +#include "utils/memory.h" + #ifndef TRUE #define TRUE 1 #endif @@ -43,10 +45,7 @@ httpMessageHasKeepAlive(HttpMessage message) size_t size; char * value; - header = httpHeaderGet( - &(message->header), - "connection", - sizeof("connection")-1); + header = httpHeaderGet(&(message->header), CSTRA("connection")); if (NULL == header) { return 0; diff --git a/src/http/response/304.c b/src/http/response/304.c index b1a591b..28fa1aa 100644 --- a/src/http/response/304.c +++ b/src/http/response/304.c @@ -29,6 +29,7 @@ #include "http/message.h" #include "http/header.h" +#include "utils/memory.h" HttpResponse httpResponse304( @@ -47,23 +48,11 @@ httpResponse304( message->body = NULL; httpHeaderAdd(&(message->header), - new(HttpHeader, - "Content-Type", - sizeof("Content-Type")-1, - mime, - nmime)); + new(HttpHeader, CSTRA("Content-Type"), mime, nmime)); httpHeaderAdd(&(message->header), - new(HttpHeader, - "ETag", - sizeof("ETag")-1, - etag, - netag)); + new(HttpHeader, CSTRA("ETag"), etag, netag)); httpHeaderAdd(&(message->header), - new(HttpHeader, - "Last-Modified", - sizeof("Last-Modified")-1, - mtime, - nmtime)); + new(HttpHeader, CSTRA("Last-Modified"), mtime, nmtime)); return response; } diff --git a/src/http/response/403.c b/src/http/response/403.c index 611f271..ded0e4d 100644 --- a/src/http/response/403.c +++ b/src/http/response/403.c @@ -38,8 +38,6 @@ httpResponse403() { HttpResponse response; HttpMessage message; - char buffer[200]; - size_t nbuf; response = new(HttpResponse, "HTTP/1.1", 403, "Forbidden"); message = (HttpMessage)response; @@ -48,15 +46,6 @@ httpResponse403() message->nbody = 0; message->body = NULL; - nbuf = sprintf(buffer, "%d", message->nbody); - - httpHeaderAdd(&(message->header), - new(HttpHeader, - "Content-Length", - sizeof("Content-Length")-1, - buffer, - nbuf)); - return response; } diff --git a/src/http/response/404.c b/src/http/response/404.c index e17ac1c..eb76df7 100644 --- a/src/http/response/404.c +++ b/src/http/response/404.c @@ -32,6 +32,7 @@ #include "http/message.h" #include "http/header.h" +#include "utils/memory.h" #define RESP_DATA "\n" \ "header), - new(HttpHeader, - "Content-Type", - sizeof("Content-Type")-1, - "text/html", - sizeof("text/html")-1)); + new(HttpHeader, CSTRA("Content-Type"), CSTRA("text/html"))); message->type = HTTP_MESSAGE_BUFFERED; message->nbody = sizeof(RESP_DATA) - 1; message->body = malloc(sizeof(RESP_DATA)); memcpy(message->body, RESP_DATA, sizeof(RESP_DATA)); - nbuf = sprintf(buffer, "%d", message->nbody); - - httpHeaderAdd(&(message->header), - new(HttpHeader, - "Content-Length", - sizeof("Content-Length")-1, - buffer, - nbuf)); - return response; } diff --git a/src/http/response/asset.c b/src/http/response/asset.c index 1641708..862ce15 100644 --- a/src/http/response/asset.c +++ b/src/http/response/asset.c @@ -33,6 +33,8 @@ #include "http/message.h" #include "http/header.h" +#include "utils/memory.h" + HttpResponse httpResponseAsset( @@ -47,8 +49,6 @@ httpResponseAsset( size_t netag; char mtime[200]; size_t nmtime; - char clen[200]; - size_t nclen; struct stat st; HttpResponse response; HttpMessage message; @@ -72,32 +72,12 @@ httpResponseAsset( message->handle = handle; message->nbody = st.st_size; - nclen = sprintf(clen, "%d", message->nbody); - - httpHeaderAdd(&(message->header), - new(HttpHeader, - "Content-Type", - sizeof("Content-Type")-1, - mime, - nmime)); httpHeaderAdd(&(message->header), - new(HttpHeader, - "Content-Length", - sizeof("Content-Length")-1, - clen, - nclen)); + new(HttpHeader, CSTRA("Content-Type"), mime, nmime)); httpHeaderAdd(&(message->header), - new(HttpHeader, - "ETag", - sizeof("ETag")-1, - etag, - netag)); + new(HttpHeader, CSTRA("ETag"), etag, netag)); httpHeaderAdd(&(message->header), - new(HttpHeader, - "Last-Modified", - sizeof("Last-Modified")-1, - mtime, - nmtime)); + new(HttpHeader, CSTRA("Last-Modified"), mtime, nmtime)); return response; } diff --git a/src/http/response/login_form.c b/src/http/response/login_form.c index 8e04b1b..c2f790b 100644 --- a/src/http/response/login_form.c +++ b/src/http/response/login_form.c @@ -33,6 +33,8 @@ #include "http/message.h" #include "http/header.h" +#include "utils/memory.h" + #define RESP_DATA "