summaryrefslogtreecommitdiff
path: root/src
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
parent47c4d993af7659460500e762e1d8e8a8325a41b8 (diff)
downloads6-ad812ae323babb23e0c51803815e4b4537cfac32.tar.xz
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')
-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++ ;
}
}