]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
From: "Jean-Claude MICHOT" <jcmichot@teaser.fr>
authorwessels <>
Tue, 6 Jan 1998 04:44:39 +0000 (04:44 +0000)
committerwessels <>
Tue, 6 Jan 1998 04:44:39 +0000 (04:44 +0000)
Fixes for QNX, mostly related to sscanf().

src/acl.cc
src/debug.cc
src/ftp.cc
src/gopher.cc
src/squid.h

index 40ed184e6ba9321ea38d45f042acad012f26672d..04038bc4065c2eb7ef12ba4d5d36816aa9bbb95e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: acl.cc,v 1.127 1998/01/02 23:39:54 wessels Exp $
+ * $Id: acl.cc,v 1.128 1998/01/05 21:44:39 wessels Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -304,6 +304,12 @@ decode_addr(const char *asc, struct in_addr *addr, struct in_addr *mask)
     return 1;
 }
 
+
+#define SCAN_ACL1       "%[0123456789.]-%[0123456789.]/%[0123456789.]"
+#define SCAN_ACL2       "%[0123456789.]-%[0123456789.]"
+#define SCAN_ACL3       "%[0123456789.]/%[0123456789.]"
+#define SCAN_ACL4       "%[0123456789.]"
+
 static struct _acl_ip_data *
 aclParseIpData(const char *t)
 {
@@ -318,13 +324,13 @@ aclParseIpData(const char *t)
        q->mask.s_addr = 0;
        return q;
     }
-    if (sscanf(t, "%[0-9.]-%[0-9.]/%[0-9.]", addr1, addr2, mask) == 3) {
+    if (sscanf(t, SCAN_ACL1, addr1, addr2, mask) == 3) {
        (void) 0;
-    } else if (sscanf(t, "%[0-9.]-%[0-9.]", addr1, addr2) == 2) {
+    } else if (sscanf(t, SCAN_ACL2, addr1, addr2) == 2) {
        mask[0] = '\0';
-    } else if (sscanf(t, "%[0-9.]/%[0-9.]", addr1, mask) == 2) {
+    } else if (sscanf(t, SCAN_ACL3, addr1, mask) == 2) {
        addr2[0] = '\0';
-    } else if (sscanf(t, "%[0-9.]", addr1) == 1) {
+    } else if (sscanf(t, SCAN_ACL4, addr1) == 1) {
        addr2[0] = '\0';
        mask[0] = '\0';
     } else if (sscanf(t, "%[^/]/%s", addr1, mask) == 2) {
index 32fd107e4b6a90912ef52c1ded601dcd414047a5..b05ccb313122c71cd1f1b5a7928b53829adfd8ac 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: debug.cc,v 1.54 1997/10/30 00:51:03 wessels Exp $
+ * $Id: debug.cc,v 1.55 1998/01/05 21:44:40 wessels Exp $
  *
  * DEBUG: section 0     Debug Routines
  * AUTHOR: Harvest Derived
@@ -113,6 +113,9 @@ static char *accessLogTime(time_t);
 void
 _db_print(const char *format,...)
 {
+#if defined(__QNX__)
+    va_list eargs;
+#endif
     va_list args;
 #else
 void
@@ -129,6 +132,9 @@ _db_print(va_alist)
 
 #ifdef __STDC__
     va_start(args, format);
+#if defined(__QNX__)
+    va_start(eargs, format);
+#endif
 #else
     va_start(args);
     format = va_arg(args, const char *);
@@ -149,11 +155,23 @@ _db_print(va_alist)
     }
 #endif /* HAVE_SYSLOG */
     /* write to log file */
+#if defined(__QNX__)
+    vfprintf(debug_log, f, eargs);
+#else
     vfprintf(debug_log, f, args);
+#endif
     if (!Config.onoff.buffered_logs)
        fflush(debug_log);
-    if (opt_debug_stderr && debug_log != stderr)
+    if (opt_debug_stderr && debug_log != stderr) {
+#if defined(__QNX__)
+      vfprintf(stderr, f, eargs);
+#else
        vfprintf(stderr, f, args);
+#endif
+    }
+#if defined(__QNX__)
+    va_end(eargs);
+#endif
     va_end(args);
 }
 
index b269a66f5cc22682e929e2ba83ff55a75c1403f1..d4122dcda76345b46e021603c97fae9535d834fa 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ftp.cc,v 1.183 1997/12/31 20:32:32 wessels Exp $
+ * $Id: ftp.cc,v 1.184 1998/01/05 21:44:41 wessels Exp $
  *
  * DEBUG: section 9     File Transfer Protocol (FTP)
  * AUTHOR: Harvest Derived
@@ -355,6 +355,11 @@ ftpListPartsFree(ftpListParts ** parts)
 
 #define MAX_TOKENS 64
 
+#define SCAN_FTP1       "%[0123456789]"
+#define SCAN_FTP2       "%[0123456789:]"
+#define SCAN_FTP3       "%[0123456789]-%[0123456789]-%[0123456789]"
+#define SCAN_FTP4       "%[0123456789]:%[0123456789]%[AaPp]%[Mm]"
+
 static ftpListParts *
 ftpListParseParts(const char *buf, int flags)
 {
@@ -382,11 +387,11 @@ ftpListParseParts(const char *buf, int flags)
     for (i = 3; i < n_tokens - 3; i++) {
        if (!is_month(tokens[i]))       /* Month */
            continue;
-       if (!sscanf(tokens[i - 1], "%[0-9]", sbuf))     /* Size */
+       if (!sscanf(tokens[i - 1], SCAN_FTP1, sbuf))    /* Size */
            continue;
-       if (!sscanf(tokens[i + 1], "%[0-9]", sbuf))     /* Day */
+       if (!sscanf(tokens[i + 1], SCAN_FTP1, sbuf))    /* Day */
            continue;
-       if (!sscanf(tokens[i + 2], "%[0-9:]", sbuf))    /* Yr | hh:mm */
+       if (!sscanf(tokens[i + 2], SCAN_FTP2, sbuf))    /* Yr | hh:mm */
            continue;
        p->type = *tokens[0];
        p->size = atoi(tokens[i - 1]);
@@ -417,9 +422,9 @@ ftpListParseParts(const char *buf, int flags)
     }
     /* try it as a DOS listing */
     if (n_tokens > 3 && p->name == NULL &&
-       sscanf(tokens[0], "%[0-9]-%[0-9]-%[0-9]", sbuf, sbuf, sbuf) == 3 &&
+       sscanf(tokens[0], SCAN_FTP3, sbuf, sbuf, sbuf) == 3 &&
     /* 04-05-70 */
-       sscanf(tokens[1], "%[0-9]:%[0-9]%[AaPp]%[Mm]", sbuf, sbuf, sbuf, sbuf) == 4) {
+       sscanf(tokens[1], SCAN_FTP4, sbuf, sbuf, sbuf, sbuf) == 4) {
        /* 09:33PM */
        if (!strcasecmp(tokens[2], "<dir>")) {
            p->type = 'd';
index fc9379c1d449e9a56d789831b575f62b6e031e5e..29dd0703067bc18d30039443210909b68716cbc9 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: gopher.cc,v 1.116 1997/12/04 23:06:45 wessels Exp $
+ * $Id: gopher.cc,v 1.117 1998/01/05 21:44:42 wessels Exp $
  *
  * DEBUG: section 10    Gopher
  * AUTHOR: Harvest Derived
@@ -273,8 +273,13 @@ gopher_url_parser(const char *url, char *host, int *port, char *type_id, char *r
     (*port) = 0;
     (*type_id) = 0;
 
-    t = sscanf(url, "%[a-zA-Z]://%[^/]/%c%s", proto, hostbuf,
-       type_id, request);
+    t = sscanf(url,
+#if defined(__QNX__)
+       "%[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]://%[^/]/%c%s",
+#else
+       "%[a-zA-Z]://%[^/]/%c%s",
+#endif
+       proto, hostbuf, type_id, request);
     if ((t < 2) || strcasecmp(proto, "gopher")) {
        return -1;
     } else if (t == 2) {
index 8086350c69372132fc5056e3a16fd46390214c76..91486b1757d725c813b276149a3a79fc347d8fbd 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: squid.h,v 1.150 1998/01/05 21:18:14 wessels Exp $
+ * $Id: squid.h,v 1.151 1998/01/05 21:44:42 wessels Exp $
  *
  * AUTHOR: Duane Wessels
  *
 #define assert(X) ((void)0)
 #endif
 
+#if defined(__QNX__)
+#include <unix.h>
+#endif
+
 /*
  * We require poll.h before using poll().  If the symbols used
  * by poll() are defined elsewhere, we will need to make this