>From 873bdd8d5275e41f107daed3efcae16084f69d95 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 5 Dec 2020 11:43:25 +0100 Subject: [PATCH 1/6] backupfile: Use idx_t for nonnegative ptrdiff_t variables. * lib/backupfile.c: Include idx.h. (numbered_backup): Mark base_offset as nonnegative. (backupfile_internal): Likewise. * modules/backup-rename (Depends-on): Add idx. * modules/backupfile (Depends-on): Likewise. --- ChangeLog | 9 +++++++++ lib/backupfile.c | 17 +++++++++-------- modules/backup-rename | 1 + modules/backupfile | 1 + 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3de6368..3281f74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2020-12-05 Bruno Haible + + backupfile: Use idx_t for nonnegative ptrdiff_t variables. + * lib/backupfile.c: Include idx.h. + (numbered_backup): Mark base_offset as nonnegative. + (backupfile_internal): Likewise. + * modules/backup-rename (Depends-on): Add idx. + * modules/backupfile (Depends-on): Likewise. + 2020-12-04 Bruno Haible utime: Fix a test failure on macOS 10.13. diff --git a/lib/backupfile.c b/lib/backupfile.c index 2a88248..dfc29e8 100644 --- a/lib/backupfile.c +++ b/lib/backupfile.c @@ -22,12 +22,6 @@ #include "backup-internal.h" -#include "attribute.h" -#include "basename-lgpl.h" -#include "opendirat.h" -#include "renameatu.h" -#include "xalloc-oversized.h" - #include #include #include @@ -36,6 +30,13 @@ #include #include +#include "attribute.h" +#include "basename-lgpl.h" +#include "idx.h" +#include "opendirat.h" +#include "renameatu.h" +#include "xalloc-oversized.h" + #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name) #endif @@ -198,7 +199,7 @@ enum numbered_backup_result static enum numbered_backup_result numbered_backup (int dir_fd, char **buffer, size_t buffer_size, size_t filelen, - ptrdiff_t base_offset, DIR **dirpp, int *pnew_fd) + idx_t base_offset, DIR **dirpp, int *pnew_fd) { enum numbered_backup_result result = BACKUP_IS_NEW; DIR *dirp = *dirpp; @@ -307,7 +308,7 @@ char * backupfile_internal (int dir_fd, char const *file, enum backup_type backup_type, bool rename) { - ptrdiff_t base_offset = last_component (file) - file; + idx_t base_offset = last_component (file) - file; size_t filelen = base_offset + strlen (file + base_offset); if (! simple_backup_suffix) diff --git a/modules/backup-rename b/modules/backup-rename index cdc96e6..d4bd339 100644 --- a/modules/backup-rename +++ b/modules/backup-rename @@ -17,6 +17,7 @@ closedir d-ino dirent-safer fcntl +idx memcmp opendirat readdir diff --git a/modules/backupfile b/modules/backupfile index 2ca1e54..fd15ec5 100644 --- a/modules/backupfile +++ b/modules/backupfile @@ -17,6 +17,7 @@ closedir d-ino dirent-safer fcntl +idx memcmp opendirat readdir -- 2.7.4