]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 4671 pt2: various GCC 7 compile errors
authorAmos Jeffries <squid3@treenet.co.nz>
Sun, 12 Mar 2017 12:12:44 +0000 (01:12 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 12 Mar 2017 12:12:44 +0000 (01:12 +1300)
src/DiskIO/DiskThreads/aiops.cc
src/fde.cc
src/fs/ufs/RebuildState.cc
src/fs/ufs/RebuildState.h
src/gopher.cc

index 9ab23b17a025d6172cf3b5c364eab4944244e375..c6871a9cabe1fd034a4dcd58a66d42eb33bd86d5 100644 (file)
@@ -296,7 +296,7 @@ squidaio_init(void)
     /* Create threads and get them to sit in their wait loop */
     squidaio_thread_pool = memPoolCreate("aio_thread", sizeof(squidaio_thread_t));
 
-    assert(NUMTHREADS);
+    assert(NUMTHREADS != 0);
 
     for (i = 0; i < NUMTHREADS; ++i) {
         threadp = (squidaio_thread_t *)squidaio_thread_pool->alloc();
index 8c3df5a3d877f6144b56d9d13062dfb38bfdf39d..90a2605efb27a8656dd4fce61cef786844b0031f 100644 (file)
@@ -86,15 +86,15 @@ fde::DumpStats (StoreEntry *dumpEntry)
 char const *
 fde::remoteAddr() const
 {
-    LOCAL_ARRAY(char, buf, MAX_IPSTRLEN );
+    static char buf[MAX_IPSTRLEN+7]; // 7 = length of ':port' strings
 
     if (type != FD_SOCKET)
         return null_string;
 
     if ( *ipaddr )
-        snprintf( buf, MAX_IPSTRLEN, "%s:%d", ipaddr, (int)remote_port);
+        snprintf(buf, sizeof(buf), "%s:%u", ipaddr, remote_port);
     else
-        local_addr.toUrl(buf,MAX_IPSTRLEN); // toHostStr does not include port.
+        local_addr.toUrl(buf, sizeof(buf)); // toHostStr does not include port.
 
     return buf;
 }
index 10ca3de5048e1b2ae008a425c02afab3b15a1e7e..17d7d23f501788fadbdf04bd9bf678fc110d6683 100644 (file)
@@ -463,7 +463,7 @@ Fs::Ufs::RebuildState::getNextFile(sfileno * filn_p, int *)
         }
 
         if (0 == in_dir) {  /* we need to read in a new directory */
-            snprintf(fullpath, MAXPATHLEN, "%s/%02X/%02X",
+            snprintf(fullpath, sizeof(fullpath), "%s/%02X/%02X",
                      sd->path,
                      curlvl1, curlvl2);
 
@@ -509,7 +509,7 @@ Fs::Ufs::RebuildState::getNextFile(sfileno * filn_p, int *)
                 continue;
             }
 
-            snprintf(fullfilename, MAXPATHLEN, "%s/%s",
+            snprintf(fullfilename, sizeof(fullfilename), "%s/%s",
                      fullpath, entry->d_name);
             debugs(47, 3, HERE << "Opening " << fullfilename);
             fd = file_open(fullfilename, O_RDONLY | O_BINARY);
index e819fee06cb977b2020f3e3819cb72465c63e384..98a0467f60b07fac0550717ed4d05348538e327a 100644 (file)
@@ -55,7 +55,7 @@ public:
     dirent_t *entry;
     DIR *td;
     char fullpath[MAXPATHLEN];
-    char fullfilename[MAXPATHLEN];
+    char fullfilename[MAXPATHLEN*2];
 
     StoreRebuildData counts;
 
index 9064f1719ce30feece29e8ba34550492e1ca5d95..a840cda8d903df2afefbcfb8adf38565e3df85be 100644 (file)
@@ -826,7 +826,7 @@ gopherReadReply(const Comm::ConnectionPointer &conn, char *buf, size_t len, Comm
  * This will be called when request write is complete. Schedule read of reply.
  */
 static void
-gopherSendComplete(const Comm::ConnectionPointer &conn, char *buf, size_t size, Comm::Flag errflag, int xerrno, void *data)
+gopherSendComplete(const Comm::ConnectionPointer &conn, char *, size_t size, Comm::Flag errflag, int xerrno, void *data)
 {
     GopherStateData *gopherState = (GopherStateData *) data;
     StoreEntry *entry = gopherState->entry;
@@ -846,10 +846,6 @@ gopherSendComplete(const Comm::ConnectionPointer &conn, char *buf, size_t size,
         err->url = xstrdup(entry->url());
         gopherState->fwd->fail(err);
         gopherState->serverConn->close();
-
-        if (buf)
-            memFree(buf, MEM_4K_BUF);   /* Allocated by gopherSendRequest. */
-
         return;
     }
 
@@ -891,9 +887,6 @@ gopherSendComplete(const Comm::ConnectionPointer &conn, char *buf, size_t size,
     AsyncCall::Pointer call =  commCbCall(5,5, "gopherReadReply",
                                           CommIoCbPtrFun(gopherReadReply, gopherState));
     entry->delayAwareRead(conn, gopherState->replybuf, BUFSIZ, call);
-
-    if (buf)
-        memFree(buf, MEM_4K_BUF);   /* Allocated by gopherSendRequest. */
 }
 
 /**
@@ -903,32 +896,31 @@ static void
 gopherSendRequest(int, void *data)
 {
     GopherStateData *gopherState = (GopherStateData *)data;
-    char *buf = (char *)memAllocate(MEM_4K_BUF);
+    MemBuf mb;
+    mb.init();
 
     if (gopherState->type_id == GOPHER_CSO) {
         const char *t = strchr(gopherState->request, '?');
 
-        if (t != NULL)
+        if (t)
             ++t;        /* skip the ? */
         else
             t = "";
 
-        snprintf(buf, 4096, "query %s\r\nquit\r\n", t);
-    } else if (gopherState->type_id == GOPHER_INDEX) {
-        char *t = strchr(gopherState->request, '?');
-
-        if (t != NULL)
-            *t = '\t';
-
-        snprintf(buf, 4096, "%s\r\n", gopherState->request);
+        mb.appendf("query %s\r\nquit", t);
     } else {
-        snprintf(buf, 4096, "%s\r\n", gopherState->request);
+        if (gopherState->type_id == GOPHER_INDEX) {
+            if (char *t = strchr(gopherState->request, '?'))
+                *t = '\t';
+        }
+        mb.append(gopherState->request, strlen(gopherState->request));
     }
+    mb.append("\r\n", 2);
 
-    debugs(10, 5, HERE << gopherState->serverConn);
+    debugs(10, 5, gopherState->serverConn);
     AsyncCall::Pointer call = commCbCall(5,5, "gopherSendComplete",
                                          CommIoCbPtrFun(gopherSendComplete, gopherState));
-    Comm::Write(gopherState->serverConn, buf, strlen(buf), call, NULL);
+    Comm::Write(gopherState->serverConn, &mb, call);
 
     gopherState->entry->makePublic();
 }