diff --git a/README.md b/README.md index bf9b842c72a13f92c6f796c38e1277d3f449144f..e868c33277304834804766b32b06e0d7112cadaf 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,12 @@ community for free is If you feel grateful for the stuff I've done, you can buy me a book from my [Amazon wishlist](http://amzn.com/w/1OC2ZCPTQYIEP?sort=priority). Many thanks to all who already did so: T.Barmann, D.Hughes, J.C.Sloan, R.Romeo, -L.E.Spencer, S.Kotay, R.M.Shorter and 7 others. +L.E.Spencer, S.Kotay, R.M.Shorter, W.Mar, J.Wilander and 7 others. Appreciated guys, you keep my brains going! Cash is also welcome indeed. Press [<img src="http://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif">](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DGZ2FMP95TAL6) -button to donate. Donation progress: 189/1000 € +button to donate. Donation progress: 249/1000 € (thanks to O.M.Vilhunen, C.Radik, G.Woodcock, M.Szczepkowski, -Eternal Lands Development Team, T.Tollet, C.Tangerino) +Eternal Lands Development Team, T.Tollet, C.Tangerino, G.Karsai, A.Bourgett, +C.Blakemore) - + diff --git a/UserManual.md b/UserManual.md index aac3f3f92ec04be48af755ba3749c27540b5e69f..b4c6aa4c0b1038f1300c79363a0f39043615977e 100644 --- a/UserManual.md +++ b/UserManual.md @@ -335,6 +335,7 @@ To start the embedded web server, call `mg_start()`. To stop it, call const char *path, size_t *data_len); void (*init_lua)(struct mg_connection *, void *lua_context); void (*upload)(struct mg_connection *, const char *file_name); + int (*http_error)(struct mg_connection *, int status); }; [hello.c](https://github.com/valenok/mongoose/blob/master/examples/hello.c) diff --git a/main.c b/main.c index 4993b82b08d4356c6fe5da7c22d2ae24783978ae..8c477831029d8be2b75e6c5e181946d157960041 100644 --- a/main.c +++ b/main.c @@ -41,8 +41,15 @@ #include <windows.h> #include <winsvc.h> #include <shlobj.h> + +#ifndef PATH_MAX #define PATH_MAX MAX_PATH +#endif + +#ifndef S_ISDIR #define S_ISDIR(x) ((x) & _S_IFDIR) +#endif + #define DIRSEP '\\' #define snprintf _snprintf #define vsnprintf _vsnprintf diff --git a/mongoose.c b/mongoose.c index ac7a029ff5dca35513f257ac7b8f9c70796bf639..40a97cbd50ba9aed7fcbd289291c38fca41bbca2 100644 --- a/mongoose.c +++ b/mongoose.c @@ -139,7 +139,10 @@ typedef long off_t; #define flockfile(x) EnterCriticalSection(&global_log_file_lock) #define funlockfile(x) LeaveCriticalSection(&global_log_file_lock) #define sleep(x) Sleep((x) * 1000) + +#if !defined(va_copy) #define va_copy(x, y) x = y +#endif // !va_copy MINGW #defines va_copy #if !defined(fileno) #define fileno(x) _fileno(x) @@ -1015,14 +1018,11 @@ static void change_slashes_to_backslashes(char *path) { // Encode 'path' which is assumed UTF-8 string, into UNICODE string. // wbuf and wbuf_len is a target buffer and its length. static void to_unicode(const char *path, wchar_t *wbuf, size_t wbuf_len) { - char buf[PATH_MAX], buf2[PATH_MAX], *p; + char buf[PATH_MAX], buf2[PATH_MAX]; mg_strlcpy(buf, path, sizeof(buf)); change_slashes_to_backslashes(buf); - // Point p to the end of the file name - p = buf + strlen(buf) - 1; - // Convert to Unicode and back. If doubly-converted string does not // match the original, something is fishy, reject. memset(wbuf, 0, wbuf_len * sizeof(wchar_t)); @@ -1333,7 +1333,7 @@ static pid_t spawn_process(struct mg_connection *conn, const char *prog, DEBUG_TRACE(("Running [%s]", cmdline)); if (CreateProcessA(NULL, cmdline, NULL, NULL, TRUE, CREATE_NEW_PROCESS_GROUP, envblk, NULL, &si, &pi) == 0) { - cry(conn, "%s: CreateProcess(%s): %d", + cry(conn, "%s: CreateProcess(%s): %ld", __func__, cmdline, ERRNO); pi.hProcess = (pid_t) -1; } @@ -4835,7 +4835,7 @@ struct mg_connection *mg_connect(const char *host, int port, int use_ssl, struct mg_connection *conn = NULL; struct sockaddr_in sin; struct hostent *he; - int sock; + SOCKET sock; if (host == NULL) { snprintf(ebuf, ebuf_len, "%s", "NULL host"); @@ -5334,7 +5334,7 @@ struct mg_context *mg_start(const struct mg_callbacks *callbacks, // Start worker threads for (i = 0; i < atoi(ctx->config[NUM_THREADS]); i++) { if (mg_start_thread(worker_thread, ctx) != 0) { - cry(fc(ctx), "Cannot start worker thread: %d", ERRNO); + cry(fc(ctx), "Cannot start worker thread: %ld", (long) ERRNO); } else { ctx->num_threads++; }