src/server/safs/addlog.c

changeset 657
f1469e3144a7
parent 415
d938228c382e
--- a/src/server/safs/addlog.c	Sun Dec 07 20:16:02 2025 +0100
+++ b/src/server/safs/addlog.c	Sun Dec 14 20:37:11 2025 +0100
@@ -28,6 +28,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <inttypes.h>
 
 #include "addlog.h"
 
@@ -35,6 +36,7 @@
 #include "../daemon/vserver.h"
 #include "../daemon/log.h"
 #include "../util/util.h"
+#include "../util/io.h"
 
 int common_log(pblock *pb, Session *sn, Request *rq) {
     NSAPIRequest *request = (NSAPIRequest*)rq;
@@ -59,7 +61,7 @@
     
     // hack to get the content length
     // http_start_response should not modify the header names
-    char *len = pblock_findval("Content-length", rq->srvhdrs);
+    int64_t len = httpstream_written(sn->csd);
     
     if(!ip) {
         ip = "-";
@@ -67,9 +69,6 @@
     if(!user) {
         user = "-";
     }
-    if(!len) {
-        len = "0";
-    }
     
     // remove trailing line feed
     cxstring tmstr = cx_str(time);
@@ -92,13 +91,13 @@
         }
         fprintf(
                 log->log->file,
-                "%s - %s [%.*s] \"%s\" %d %s %.*s%s%.*s %.*s%s%.*s\n",
+                "%s - %s [%.*s] \"%s\" %d %" PRId64 " %.*s%s%.*s %.*s%s%.*s\n",
                 ip,
                 user,
                 (int)tmstr.length,
                 tmstr.ptr,
                 req,
-                rq->status_num,
+                (int)rq->status_num,
                 len,
                 refq,
                 "\"",
@@ -114,7 +113,7 @@
     } else {
         fprintf(
                 log->log->file,
-                "%s - %s [%.*s] \"%s\" %d %s\n",
+                "%s - %s [%.*s] \"%s\" %d %" PRId64 "\n",
                 ip,
                 user,
                 (int)tmstr.length,

mercurial