From 299b28f1316ed69b4db0174adc9166fac55b8ecc Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 13 Jun 2007 07:25:11 +0000 Subject: added essential logging --- src/daemon/daemon.c | 12 ++++++++++-- src/daemon/session.c | 5 ++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/daemon/daemon.c b/src/daemon/daemon.c index 3935832e..2a2636db 100644 --- a/src/daemon/daemon.c +++ b/src/daemon/daemon.c @@ -265,6 +265,7 @@ static void MHD_cleanup_sessions(struct MHD_Daemon * daemon) { struct MHD_Session * pos; struct MHD_Session * prev; + struct MHD_HTTP_Header * hpos; pos = daemon->connections; prev = NULL; @@ -283,8 +284,15 @@ MHD_cleanup_sessions(struct MHD_Daemon * daemon) { free(pos->write_buffer); if (pos->read_buffer != NULL) free(pos->read_buffer); - /* FIXME: free headers_received here! */ - /* FIXME: more to free here: response, more? */ + while (pos->headers_received != NULL) { + hpos = pos->headers_received; + pos->headers_received = hpos->next; + free(hpos->header); + free(hpos->value); + } + + if (pos->response != NULL) + MHD_destroy_response(pos->response); free(pos); } prev = pos; diff --git a/src/daemon/session.c b/src/daemon/session.c index b458cad7..62e05edd 100644 --- a/src/daemon/session.c +++ b/src/daemon/session.c @@ -384,7 +384,7 @@ MHD_build_header_response(struct MHD_Session * session) { pos = pos->next; } /* produce data */ - data = malloc(size); + data = malloc(size + 1); memcpy(data, code, off); @@ -397,6 +397,9 @@ MHD_build_header_response(struct MHD_Session * session) { off += strlen(pos->header) + strlen(pos->value) + 4; pos = pos->next; } + sprintf(&data[off], + "\r\n"); + off += 2; if (off != size) abort(); session->write_buffer = data; -- cgit v1.2.3