summaryrefslogtreecommitdiffstats
path: root/nanohttp/nanohttp-response.c
diff options
context:
space:
mode:
Diffstat (limited to 'nanohttp/nanohttp-response.c')
-rwxr-xr-xnanohttp/nanohttp-response.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/nanohttp/nanohttp-response.c b/nanohttp/nanohttp-response.c
index f2e13c5..3883950 100755
--- a/nanohttp/nanohttp-response.c
+++ b/nanohttp/nanohttp-response.c
@@ -1,5 +1,5 @@
/******************************************************************
-* $Id: nanohttp-response.c,v 1.2 2004/10/28 10:30:46 snowdrop Exp $
+* $Id: nanohttp-response.c,v 1.3 2004/10/29 09:27:05 snowdrop Exp $
*
* CSOAP Project: A http client/server library in C
* Copyright (C) 2003-2004 Ferhat Ayaz
@@ -186,8 +186,15 @@ read_header: /* for errorcode: 100 (continue) */
}
else
{
- res->attachments = mimeMessage;
- res->in = http_input_stream_new_from_file(mimeMessage->root_part->filename);
+ res->attachments = mimeMessage;
+ http_input_stream_free(res->in);
+ res->in = http_input_stream_new_from_file(mimeMessage->root_part->filename);
+ if (!res->in) {
+ /* TODO (#1#): Handle error */
+
+ } else {
+ /*res->in->deleteOnExit = 1;*/
+ }
}
}
*out = res;
@@ -195,9 +202,9 @@ read_header: /* for errorcode: 100 (continue) */
}
-
-void
-hresponse_free(hresponse_t * res)
+
+void
+hresponse_free(hresponse_t * res)
{
if (res == NULL)
return;
@@ -210,7 +217,9 @@ hresponse_free(hresponse_t * res)
if (res->content_type)
content_type_free(res->content_type);
-
+
+ if (res->attachments)
+ attachments_free(res->attachments);
free(res);
}