about summary refs log tree commit diff
path: root/src/daemontools-extras
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-10-17 14:52:20 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-10-17 14:52:20 +0000
commitad812ae323babb23e0c51803815e4b4537cfac32 (patch)
tree02341a8d1df523118a2734c142c1165f91263742 /src/daemontools-extras
parent47c4d993af7659460500e762e1d8e8a8325a41b8 (diff)
downloads6-ad812ae323babb23e0c51803815e4b4537cfac32.tar.gz
s6-ad812ae323babb23e0c51803815e4b4537cfac32.tar.xz
s6-ad812ae323babb23e0c51803815e4b4537cfac32.zip
bugfix: s6-log: use off_t instead of size_t for archive file size
 Also clarify internal names, to make CalimeroTechnik happy. ;)
Diffstat (limited to 'src/daemontools-extras')
-rw-r--r--src/daemontools-extras/s6-log.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/daemontools-extras/s6-log.c b/src/daemontools-extras/s6-log.c
index 50c3b1b..10d78f3 100644
--- a/src/daemontools-extras/s6-log.c
+++ b/src/daemontools-extras/s6-log.c
@@ -173,10 +173,9 @@ struct logdir_s
   .rstate = ROTSTATE_WRITABLE \
 }
 
-typedef struct filesize_s filesize_t, *filesize_t_ref ;
-struct filesize_s
+struct filedesc_s
 {
-  size_t size ;
+  off_t size ;
   char name[28] ;
 } ;
 
@@ -186,7 +185,7 @@ struct filesize_s
 static logdir_t *logdirs ;
 static unsigned int llen = 0 ;
 
-static int filesize_cmp (filesize_t const *a, filesize_t const *b)
+static int filedesc_cmp (struct filedesc_s const *a, struct filedesc_s const *b)
 {
   return memcmp(a->name+1, b->name+1, 26) ;
 }
@@ -227,7 +226,7 @@ static inline int logdir_trim (logdir_t *ldp)
     uint64_t totalsize = 0 ;
     size_t dirlen = strlen(ldp->dir) ;
     unsigned int i = 0 ;
-    filesize_t blurgh[n] ;
+    struct filedesc_s archive[n] ;
     char fullname[dirlen + 29] ;
     memcpy(fullname, ldp->dir, dirlen) ;
     fullname[dirlen] = '/' ;
@@ -246,8 +245,8 @@ static inline int logdir_trim (logdir_t *ldp)
         if (verbosity) strerr_warnwu2sys("stat ", fullname) ;
         continue ;
       }
-      memcpy(blurgh[i].name, d->d_name, 28) ;
-      blurgh[i].size = st.st_size ;
+      memcpy(archive[i].name, d->d_name, 28) ;
+      archive[i].size = st.st_size ;
       totalsize += st.st_size ;
       i++ ;
     }
@@ -261,17 +260,17 @@ static inline int logdir_trim (logdir_t *ldp)
     dir_close(dir) ;
     if ((i <= ldp->n) && (!ldp->maxdirsize || (totalsize <= ldp->maxdirsize)))
       return 0 ;
-    qsort(blurgh, i, sizeof(filesize_t), (qcmpfunc_t_ref)&filesize_cmp) ;
+    qsort(archive, i, sizeof(struct filedesc_s), (qcmpfunc_t_ref)&filedesc_cmp) ;
     n = 0 ;
     while ((i > ldp->n + n) || (ldp->maxdirsize && (totalsize > ldp->maxdirsize)))
     {
-      memcpy(fullname + dirlen + 1, blurgh[n].name, 28) ;
+      memcpy(fullname + dirlen + 1, archive[n].name, 28) ;
       if (unlink(fullname) < 0)
       {
-        if (errno == ENOENT) totalsize -= blurgh[n].size ;
+        if (errno == ENOENT) totalsize -= archive[n].size ;
         if (verbosity) strerr_warnwu2sys("unlink ", fullname) ;
       }
-      else totalsize -= blurgh[n].size ;
+      else totalsize -= archive[n].size ;
       n++ ;
     }
   }