View Ticket
Not logged in
Ticket UUID: 89bec0d9aa9f306d13eefc3384aa8b07746c10d5
Title: OS/2 support
Status: Fixed Type: Feature_Request
Severity: Important Priority:
Subsystem: Resolution: Fixed
Last Modified: 2009-08-29 17:02:58
Version Found In: 20090828225927
Description & Comments:
Hi for OS/2 support we need a couple of minor patches. For binary file support,
--- main.c.orig Fri Aug 28 16:17:16 2009
+++ main.c      Fri Aug 28 19:14:00 2009
@@ -627,6 +627,11 @@
   setmode(_fileno(g.httpOut), _O_BINARY);
   setmode(_fileno(g.httpIn), _O_BINARY);
 #endif
+#ifdef __EMX__
+  /* Likewise for OS/2 */
+  setmode(fileno(g.httpOut), O_BINARY);
+  setmode(fileno(g.httpIn), O_BINARY);
+#endif
   g.cgiPanic = 1;
   blob_read_from_file(&config, zFile);
   while( blob_line(&config, &line) ){

We also don't have socklen_t, I did this, might not be the best spot for a typedef,

--- cgi.c.orig  Fri Aug 28 16:17:16 2009
+++ cgi.c       Fri Aug 28 18:54:38 2009
@@ -48,6 +48,10 @@
 #include <unistd.h>
 #include "cgi.h"

+#ifdef __EMX__
+typedef int socklen_t;
+#endif
+
 #if INTERFACE
 /*
 ** Shortcuts for cgi_parameter.  P("x") returns the value of query parameter

Also ideally the build process for translate etc should build translate$(E), I added -Zexe to the CFLAGS which is a workaround to force building foo and foo.exe.

Sorry for the badly formatted patches, without the extra lines they ran together as one line and I couldn't see any where to attach them.


drh added on 2009-08-29 17:02:58:
Patches implemented in df97fae2bd9f248be08