From: David Schmidt Date: Mon, 4 Mar 2002 02:08:02 +0000 (+0000) Subject: Enable web editing of actions file on OS/2 (it had been broken all this time!) X-Git-Tag: v_2_9_12~218 X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=commitdiff_plain;h=426f0650549b9cb1f4275d72efb4ae3ac1acce8e Enable web editing of actions file on OS/2 (it had been broken all this time!) --- diff --git a/cgiedit.c b/cgiedit.c index 54c44ec1..ec7b5d28 100644 --- a/cgiedit.c +++ b/cgiedit.c @@ -1,4 +1,4 @@ -const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.11 2002/01/23 01:03:31 jongfoster Exp $"; +const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.12 2002/03/03 09:18:03 joergs Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgiedit.c,v $ @@ -42,6 +42,9 @@ const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.11 2002/01/23 01:03:31 jongfoster * * Revisions : * $Log: cgiedit.c,v $ + * Revision 1.12 2002/03/03 09:18:03 joergs + * Made jumbjuster work on AmigaOS again. + * * Revision 1.11 2002/01/23 01:03:31 jongfoster * Fixing gcc [CygWin] compiler warnings * @@ -703,7 +706,7 @@ jb_err edit_write_file(struct editable_file * file) assert(file); assert(file->filename); -#ifdef AMIGA +#if defined(AMIGA) || defined(__OS2__) if (NULL == (fp = fopen(file->filename, "w"))) #else if (NULL == (fp = fopen(file->filename, "wt"))) @@ -1534,7 +1537,7 @@ jb_err edit_read_file(struct client_state *csp, } } -#ifdef AMIGA +#if defined(AMIGA) || defined(__OS2__) if (NULL == (fp = fopen(filename,"r"))) #else if (NULL == (fp = fopen(filename,"rt"))) diff --git a/errlog.c b/errlog.c index 55831379..e75da781 100644 --- a/errlog.c +++ b/errlog.c @@ -1,4 +1,4 @@ -const char errlog_rcs[] = "$Id: errlog.c,v 1.25 2002/01/09 14:32:08 oes Exp $"; +const char errlog_rcs[] = "$Id: errlog.c,v 1.26 2002/01/09 19:05:45 steudten Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/errlog.c,v $ @@ -33,6 +33,9 @@ const char errlog_rcs[] = "$Id: errlog.c,v 1.25 2002/01/09 14:32:08 oes Exp $"; * * Revisions : * $Log: errlog.c,v $ + * Revision 1.26 2002/01/09 19:05:45 steudten + * Fix big memory leak. + * * Revision 1.25 2002/01/09 14:32:08 oes * Added support for gmtime_r and localtime_r. * @@ -594,6 +597,8 @@ void log_error(int loglevel, char *fmt, ...) #ifdef _WIN32 ival = WSAGetLastError(); sval = w32_socket_strerr(ival, tempbuf); +#elif __OS2__ + ival = sock_errno(); #else /* ifndef _WIN32 */ ival = errno; #ifdef HAVE_STRERROR diff --git a/jbsockets.c b/jbsockets.c index 19bd879f..230f2414 100644 --- a/jbsockets.c +++ b/jbsockets.c @@ -1,4 +1,4 @@ -const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.20 2001/11/16 00:48:48 jongfoster Exp $"; +const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.21 2002/01/09 14:32:33 oes Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jbsockets.c,v $ @@ -35,6 +35,9 @@ const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.20 2001/11/16 00:48:48 jongfo * * Revisions : * $Log: jbsockets.c,v $ + * Revision 1.21 2002/01/09 14:32:33 oes + * Added support for gethostbyname_r and gethostbyaddr_r. + * * Revision 1.20 2001/11/16 00:48:48 jongfoster * Enabling duplicate-socket detection for all platforms, not * just Win32. @@ -317,6 +320,10 @@ int connect_to(const char *host, int portnum, struct client_state *csp) *********************************************************************/ int write_socket(int fd, const char *buf, int len) { +#ifdef __OS2__ +#define SOCKET_SEND_MAX 65000 + int write_len = 0, send_len, send_rc = 0, i = 0; +#endif /* __OS2__ */ if (len <= 0) { return(0); @@ -324,8 +331,25 @@ int write_socket(int fd, const char *buf, int len) log_error(LOG_LEVEL_LOG, "%N", len, buf); -#if defined(_WIN32) || defined(__BEOS__) || defined(AMIGA) || defined(__OS2__) +#if defined(_WIN32) || defined(__BEOS__) || defined(AMIGA) return( send(fd, buf, len, 0)); +#elif defined(__OS2__) + /* + * Break the data up into SOCKET_SEND_MAX chunks for sending... + * OS/2 seemed to complain when the chunks were too large. + */ + while ((i < len) && (send_rc != -1)) + { + if ((i + SOCKET_SEND_MAX) > len) + send_len = len - i; + else + send_len = SOCKET_SEND_MAX; + send_rc = send(fd,(char*)buf + i, send_len, 0); + if (send_rc == -1) + return(0); + i = i + send_len; + } + return len; #else return( write(fd, buf, len)); #endif diff --git a/miscutil.c b/miscutil.c index 3a087144..7c874581 100644 --- a/miscutil.c +++ b/miscutil.c @@ -1,4 +1,4 @@ -const char miscutil_rcs[] = "$Id: miscutil.c,v 1.27 2002/01/21 00:52:32 jongfoster Exp $"; +const char miscutil_rcs[] = "$Id: miscutil.c,v 1.28 2002/03/03 09:18:03 joergs Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/miscutil.c,v $ @@ -36,6 +36,9 @@ const char miscutil_rcs[] = "$Id: miscutil.c,v 1.27 2002/01/21 00:52:32 jongfost * * Revisions : * $Log: miscutil.c,v $ + * Revision 1.28 2002/03/03 09:18:03 joergs + * Made jumbjuster work on AmigaOS again. + * * Revision 1.27 2002/01/21 00:52:32 jongfoster * Adding string_join() * @@ -868,11 +871,11 @@ char * make_path(const char * dir, const char * file) } if ((dir == NULL) || (*dir == '\0') /* No directory specified */ -#ifdef _WIN32 +#if defined(_WIN32) || defined(__OS2__) || (*file == '\\') || (file[1] == ':') /* Absolute path (DOS) */ -#else /* ifndef _WIN32 */ +#else /* ifndef _WIN32 || __OS2__ */ || (*file == '/') /* Absolute path (U*ix) */ -#endif /* ifndef _WIN32 */ +#endif /* ifndef _WIN32 || __OS2__ */ ) { return strdup(file); @@ -905,17 +908,17 @@ char * make_path(const char * dir, const char * file) #endif /* defined unix */ -#ifdef _WIN32 +#if defined(_WIN32) || defined(__OS2__) if(path[strlen(path)-1] != '\\') { strcat(path, "\\"); } -#else /* ifndef _WIN32 */ +#else /* ifndef _WIN32 || __OS2__ */ if(path[strlen(path)-1] != '/') { strcat(path, "/"); } -#endif /* ifndef _WIN32 */ +#endif /* ifndef _WIN32 || __OS2__ */ strcat(path, file); return path;