diff options
author | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-05-08 04:49:27 +0000 |
---|---|---|
committer | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-05-08 04:49:27 +0000 |
commit | d209029ca87aa096d7371aec373fbf76c2582e16 (patch) | |
tree | 9915dc155588337231279844c2aa0685813be75a /src/server/httpd.c | |
parent | 1000674d1c8d504052c12ab853fcb8532abcee1a (diff) | |
download | riscv-openocd-d209029ca87aa096d7371aec373fbf76c2582e16.zip riscv-openocd-d209029ca87aa096d7371aec373fbf76c2582e16.tar.gz riscv-openocd-d209029ca87aa096d7371aec373fbf76c2582e16.tar.bz2 |
Fix warnings in httpd.c; builds with libmicrohttpd-0.4.1.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1659 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/server/httpd.c')
-rw-r--r-- | src/server/httpd.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/src/server/httpd.c b/src/server/httpd.c index 4b876d3..d94d4f2 100644 --- a/src/server/httpd.c +++ b/src/server/httpd.c @@ -42,6 +42,7 @@ #include <unistd.h> #include <sys/types.h> #include <fcntl.h> +#include <pthread.h> #include <signal.h> #include <sys/types.h> @@ -54,6 +55,8 @@ #define PAGE_NOT_FOUND "<html><head><title>File not found</title></head><body>File not found</body></html>" +int loadFile(const char *name, void **data, size_t *len); + static const char *appendf(const char *prev, const char *format, ...) { va_list ap; @@ -134,23 +137,19 @@ static int httpd_Jim_Command_writeform(Jim_Interp *interp, int argc, data = Jim_GetString(Jim_GetResult(interp), &actual); - FILE *f; - f = fopen(file, "wb"); - if (f != NULL) + FILE *f = fopen(file, "wb"); + if (NULL == f) { - int ok; - ok = fwrite(data, 1, actual, f) == actual; - fclose(f); - - if (!ok) - { - Jim_SetResultString(interp, "Could not write to file", -1); - return JIM_ERR; - } + Jim_SetResultString(interp, "Could not create file", -1); + return JIM_ERR; } - else + + int result = fwrite(data, 1, actual, f); + fclose(f); + + if (result != actual) { - Jim_SetResultString(interp, "Could not create file", -1); + Jim_SetResultString(interp, "Could not write to file", -1); return JIM_ERR; } return JIM_OK; @@ -243,7 +242,7 @@ static void append_key(struct httpd_request *r, const char *key, /* append data to each key */ static int iterate_post(void *con_cls, enum MHD_ValueKind kind, const char *key, const char *filename, const char *content_type, - const char *transfer_encoding, const char *data, size_t off, + const char *transfer_encoding, const char *data, uint64_t off, size_t size) { struct httpd_request *r = (struct httpd_request*) con_cls; @@ -313,7 +312,7 @@ int handle_request(struct MHD_Connection * connection, const char * url) else { void *data; - int len; + size_t len; int retval = loadFile(url, &data, &len); if (retval != ERROR_OK) @@ -327,7 +326,7 @@ int handle_request(struct MHD_Connection * connection, const char * url) return ret; } - LOG_DEBUG("Serving %s length=%d", url, len); + LOG_DEBUG("Serving %s length=%u", url, len); /* serve file directly */ response = MHD_create_response_from_data(len, data, MHD_YES, MHD_NO); MHD_add_response_header(response, "Content-Type", "image/png"); @@ -381,7 +380,7 @@ static int ahc_echo(void * cls, struct MHD_Connection * connection, if (r->post) { r->postprocessor = MHD_create_post_processor(connection, 2048 - * 1024, iterate_post, r); + * 1024, &iterate_post, r); } return MHD_YES; |