From ebde083c541b5d202014c41450a3519f4d08e3c9 Mon Sep 17 00:00:00 2001 From: snowdrop Date: Wed, 20 Oct 2004 14:17:36 +0000 Subject: optimized for visualc 6 --- nanohttp/nanohttp-common.c | 48 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) (limited to 'nanohttp/nanohttp-common.c') diff --git a/nanohttp/nanohttp-common.c b/nanohttp/nanohttp-common.c index e31c20f..df968c3 100644 --- a/nanohttp/nanohttp-common.c +++ b/nanohttp/nanohttp-common.c @@ -1,5 +1,5 @@ /****************************************************************** -* $Id: nanohttp-common.c,v 1.13 2004/10/15 13:29:36 snowdrop Exp $ +* $Id: nanohttp-common.c,v 1.14 2004/10/20 14:17:41 snowdrop Exp $ * * CSOAP Project: A http client/server library in C * Copyright (C) 2003 Ferhat Ayaz @@ -34,7 +34,8 @@ #include #endif -static log_level_t loglevel = HLOG_DEBUG; +static log_level_t loglevel = HLOG_DEBUG; +static char logfile[75] = {'\0'}; log_level_t log_set_level(log_level_t level) @@ -45,11 +46,26 @@ log_set_level(log_level_t level) } -log_level_t +log_level_t log_get_level() { return loglevel; } + + +void log_set_file(const char *filename) +{ + if (filename) + strncpy(logfile, filename, 75); + else + logfile[0] = '\0'; +} + +char *log_get_file() +{ + if (logfile[0] == '\0') return NULL; + return logfile; +} static void @@ -57,7 +73,8 @@ log_write(log_level_t level, const char *prefix, const char *func, const char *format, va_list ap) { char buffer[1054]; - char buffer2[1054]; + char buffer2[1054]; + FILE *f; if (level < loglevel) return; @@ -65,7 +82,17 @@ log_write(log_level_t level, const char *prefix, sprintf(buffer, "*%s*: [%s] %s\n", prefix, func, format); vsprintf(buffer2, buffer, ap); printf(buffer2); - fflush(stdout); + fflush(stdout); + + if (log_get_file()) { + f = fopen(log_get_file(), "a"); + if (!f) f = fopen(log_get_file(), "w"); + if (f) { + fprintf(f, buffer2); + fflush(f); + fclose(f); + } + } } void @@ -574,6 +601,15 @@ part_t *part_new(const char *id, const char* filename, return part; } +void part_free(part_t *part) +{ + if (part == NULL) + return; + + hpairnode_free_deep(part->header); + + free(part); +} attachments_t *attachments_new() /* should be used internally */ { @@ -612,7 +648,7 @@ void attachments_free(attachments_t *message) part = message->parts; while (part) { tmp = part->next; - mime_part_free(part); + part_free(part); part= tmp; } -- cgit v1.1-32-gdbae