Fossil

View Ticket
Login

View Ticket

2009-08-29
17:02 Fixed ticket [89bec0d9aa]: OS/2 support plus 3 other changes ... (artifact: 17cead3566 user: drh)
17:01
Patches to get Fossil working on OS/2. Ticket [89bec0d9aa9f30] ... (check-in: df97fae2bd user: drh tags: trunk)
16:42 Ticket [89bec0d9aa] OS/2 support status still Open with 2 other changes ... (artifact: 993261118d user: drh)
02:27 New ticket [89bec0d9aa]. ... (artifact: a99fb36084 user: anonymous)

Ticket Hash: 89bec0d9aa9f306d13eefc3384aa8b07746c10d5
Title: OS/2 support
Status: Fixed Type: Feature_Request
Severity: Important Priority:
Subsystem: Resolution: Fixed
Last Modified: 2009-08-29 17:02:58
16.60 years ago
Created: 2009-08-29 02:27:25
16.60 years ago
Version Found In: 20090828225927
Description:
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]