From: Florian Weimer Date: Fri, 5 Sep 2025 17:02:57 +0000 (+0200) Subject: libio: Define AT_RENAME_* with the same tokens as Linux X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b173557da978a04ac3bdfc0bd3b0e7ac583b44d5;p=thirdparty%2Fglibc.git libio: Define AT_RENAME_* with the same tokens as Linux Linux uses different expressions for the RENAME_* and AT_RENAME_* constants. Mirror that in , so that the macro redefinitions do not result in preprocessor warnings. Reviewed-by: Collin Funk --- diff --git a/libio/stdio.h b/libio/stdio.h index d042b36618..e0e70945fa 100644 --- a/libio/stdio.h +++ b/libio/stdio.h @@ -168,11 +168,11 @@ extern int renameat (int __oldfd, const char *__old, int __newfd, #ifdef __USE_GNU /* Flags for renameat2. */ # define RENAME_NOREPLACE (1 << 0) -# define AT_RENAME_NOREPLACE RENAME_NOREPLACE +# define AT_RENAME_NOREPLACE 0x0001 # define RENAME_EXCHANGE (1 << 1) -# define AT_RENAME_EXCHANGE RENAME_EXCHANGE +# define AT_RENAME_EXCHANGE 0x0002 # define RENAME_WHITEOUT (1 << 2) -# define AT_RENAME_WHITEOUT RENAME_WHITEOUT +# define AT_RENAME_WHITEOUT 0x0004 /* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with additional flags. */ diff --git a/stdio-common/tst-renameat2.c b/stdio-common/tst-renameat2.c index 12aa0f8b0f..6213e1376d 100644 --- a/stdio-common/tst-renameat2.c +++ b/stdio-common/tst-renameat2.c @@ -28,6 +28,12 @@ #include #include +/* These constants are defined with different token sequences, + matching the Linux definitions, to avoid preprocessor warnings. */ +_Static_assert (RENAME_NOREPLACE == AT_RENAME_NOREPLACE, "RENAME_NOREPLACE"); +_Static_assert (RENAME_EXCHANGE == AT_RENAME_EXCHANGE, "RENAME_EXCHANGE"); +_Static_assert (RENAME_WHITEOUT == AT_RENAME_WHITEOUT, "RENAME_WHITEOUT"); + /* Directory with the temporary files. */ static char *directory; static int directory_fd;