diff --git a/examples/Makefile b/examples/Makefile index 863b80128085f271125ccba4e97df03da434bbb0..94597f3935eaed352a27c14e69db06e26ce27cca 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -8,3 +8,17 @@ all: $(CC) $(CFLAGS) post.c ../mongoose.c $$LIBS $(ADD) -o post; $(CC) $(CFLAGS) -DUSE_WEBSOCKET websocket.c ../mongoose.c $$LIBS $(ADD) -o websocket; $(CC) $(CFLAGS) chat.c ../mongoose.c $$LIBS $(ADD) -o chat + + +MSVC = e:/vc6 +CL = $(MSVC)/bin/cl +CLFLAGS = /MD /TC /nologo $(DBG) /W3 /DNO_SSL \ + /I$(MSVC)/include /I.. /Dsnprintf=_snprintf \ + /link /incremental:no /libpath:$(MSVC)/lib /machine:IX86 + +windows: + $(CL) hello.c ../mongoose.c $(CLFLAGS) + $(CL) upload.c ../mongoose.c $(CLFLAGS) + $(CL) post.c ../mongoose.c $(CLFLAGS) + $(CL) post.c ../mongoose.c $(CLFLAGS) + $(CL) /DUSE_WEBSOCKET websocket.c ../mongoose.c $(CLFLAGS) \ No newline at end of file diff --git a/examples/upload.c b/examples/upload.c index dea8cdd416dbfc9e58d818d8039da6c6e907743a..0111d8d392ed423e8f55a65bde25d132b037a83d 100644 --- a/examples/upload.c +++ b/examples/upload.c @@ -5,8 +5,18 @@ #include <string.h> #include <fcntl.h> #include <stdlib.h> +#ifdef _WIN32 +#include <windows.h> +#include <io.h> +#define strtoll strtol +typedef __int64 int64_t; +#define O_CLOEXEC 0 +#define O_EXLOCK 0 +#else #include <inttypes.h> #include <unistd.h> +#endif // !_WIN32 + #include "mongoose.h" // Make sure that form has enctype="multipart/form-data" attribute @@ -25,7 +35,7 @@ static void handle_file_upload(struct mg_connection *conn) { char post_data[16 * 1024], path[999], file_name[1024], mime_type[100], buf[BUFSIZ], *eop, *s, *p; FILE *fp; - long long int cl, written; + int64_t cl, written; int fd, n, post_data_len; // Figure out total content length. Return if it is not present or invalid. @@ -87,7 +97,7 @@ static void handle_file_upload(struct mg_connection *conn) { (void) fwrite(p, 1, n, fp); written = n; while (written < cl && - (n = mg_read(conn, buf, cl - written > (long long) sizeof(buf) ? + (n = mg_read(conn, buf, cl - written > (int64_t) sizeof(buf) ? sizeof(buf) : cl - written)) > 0) { (void) fwrite(buf, 1, n, fp); written += n;