summaryrefslogtreecommitdiff
path: root/modules/backup-rename
Commit message (Collapse)AuthorAgeFilesLines
* backupfile: less-aggressive buffer growthPaul Eggert2021-04-061-0/+1
| | | | | | | * lib/backupfile.c: Include intprops.h. (numbered_backup): Grow buffer by the usual 50%, not 100%. This is easier to do now that we have xalloc_count_t. * modules/backup-rename, modules/backupfile: Depend on intprops.
* backupfile, backup-rename: Trim dependencies.Bruno Haible2021-04-041-2/+1
| | | | | | | | | * lib/backupfile.h: Add comment. * lib/backupfile.c: Include <dirent.h>, for readdir() declaration. * modules/backup-rename (Depends-on): Remove dirent-safer, fcntl. Add fcntl-h. * modules/backupfile (Depends-on): Likewise. Remove xalloc. Add xalloc-die.
* backupfile: Use idx_t for nonnegative ptrdiff_t variables.Bruno Haible2020-12-061-0/+1
| | | | | | | | * 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.
* Use module 'c99' when needed for declaration-after-statement syntax.Bruno Haible2020-09-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/backup-rename (Depends-on): Add c99. * modules/backupfile (Depends-on): Likewise. * modules/bitset-tests (Depends-on): Likewise. * modules/bitsetv (Depends-on): Likewise. * modules/c-strtod (Depends-on): Likewise. * modules/c-strtold (Depends-on): Likewise. * modules/clean-temp (Depends-on): Likewise. * modules/copy-file (Depends-on): Likewise. * modules/crypto/hmac-md5-tests (Depends-on): Likewise. * modules/crypto/hmac-sha1-tests (Depends-on): Likewise. * modules/crypto/hmac-sha256-tests (Depends-on): Likewise. * modules/crypto/hmac-sha512-tests (Depends-on): Likewise. * modules/crypto/md5-buffer (Depends-on): Likewise. * modules/crypto/md5-tests (Depends-on): Likewise. * modules/crypto/sha1-buffer (Depends-on): Likewise. * modules/crypto/sha1-tests (Depends-on): Likewise. * modules/crypto/sha256-buffer (Depends-on): Likewise. * modules/crypto/sha256-tests (Depends-on): Likewise. * modules/crypto/sha512-buffer (Depends-on): Likewise. * modules/crypto/sha512-tests (Depends-on): Likewise. * modules/diffseq (Depends-on): Likewise. * modules/fatal-signal (Depends-on): Likewise. * modules/fchmodat (Depends-on): Likewise. * modules/fstrcmp (Depends-on): Likewise. * modules/fsusage (Depends-on): Likewise. * modules/fts (Depends-on): Likewise. * modules/fts-tests (Depends-on): Likewise. * modules/getumask (Depends-on): Likewise. * modules/git-merge-changelog (Depends-on): Likewise. * modules/hash-map (Depends-on): Likewise. * modules/hash-set (Depends-on): Likewise. * modules/lchmod (Depends-on): Likewise. * modules/libgmp-tests (Depends-on): Likewise. * modules/libtextstyle-optional-tests (Depends-on): Likewise. * modules/linkedhash-map (Depends-on): Likewise. * modules/linkedhash-set (Depends-on): Likewise. * modules/long-options (Depends-on): Likewise. * modules/mbrtoc32 (Depends-on): Likewise. * modules/memchr2-tests (Depends-on): Likewise. * modules/memmem-tests (Depends-on): Likewise. * modules/memrchr-tests (Depends-on): Likewise. * modules/mktime-internal (Depends-on): Likewise. * modules/nstrftime (Depends-on): Likewise. * modules/opendirat (Depends-on): Likewise. * modules/parse-datetime (Depends-on): Likewise. * modules/quotearg-simple-tests (Depends-on): Likewise. * modules/same (Depends-on): Likewise. * modules/supersede (Depends-on): Likewise. * modules/supersede-tests (Depends-on): Likewise. * modules/time_rz (Depends-on): Likewise. * modules/unistr/u16-chr-tests (Depends-on): Likewise. * modules/unistr/u32-chr-tests (Depends-on): Likewise. * modules/unistr/u8-chr-tests (Depends-on): Likewise. * modules/xalloc (Depends-on): Likewise. * modules/xnanosleep (Depends-on): Likewise.
* backupfile, backup-rename: Trim module dependencies.Bruno Haible2020-07-051-1/+1
| | | | | | | * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h. * modules/backupfile (Depends-on): Remove dirname-lgpl. Add basename-lgpl. * modules/backup-rename (Depends-on): Likewise.
* attribute: new modulePaul Eggert2020-05-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies use of GCC and C2X attributes like ‘deprecated’. * MODULES.html.sh: Add attribute. * doc/attribute.texi, lib/attribute.h, modules/attribute: New files. * doc/gnulib.texi (Particular Modules): Add Attributes. * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c: * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c: * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c: * lib/vasnprintf.c: Include attribute.h, and let it define FALLTHROUGH. * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro. * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X. * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY. This is a copy since Gawk doesn’t use Gnulib. * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that is incompatible with gl_COMMON_BODY’s. All uses changed. * lib/fts.c: Include attribte.h, for FALLTHROUGH. Keep the existing FALLTHROUGH definition since Glibc might use it, and it does no harm to Gnulib’s FALLTHROUGH. * lib/fts_.h, lib/inttostr.h: (__GNUC_PREREQ): Remove; no longer needed. (__attribute_warn_unused_result__): Remove. All uses replaced by _GL_ATTRIBUTE_NODISCARD. * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h: * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed __attribute__ ((__warn_unused_result__)), for forward compatibility to C2X. * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove. All uses replaced by _GL_ATTRIBUTE_NODISCARD. (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it. * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove. All uses replaced by gl_COMMON_BODY’s implementation, which has a slightly different signature. * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Remove. All uses replaced by _GL_ATTRIBUTE_NODISCARD. * lib/unused-parameter.h (_GL_UNUSED_PARAMETER): Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED. No doubt all uses should be replaced, at some point. * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro. (_Noreturn): Use it. (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE) (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL) (_GL_ATTRIBUTE_COLD) (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR) (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE) (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT) (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS) (_GL_ATTRIBUTE_MAYBE_UNUSED) (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE) (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING) (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE) (_GL_ATTRIBUTE_SENTINEL): New macros. * modules/backup-rename, modules/backupfile, modules/c-vasnprintf: * modules/fnmatch, modules/freopen-safer, modules/fts: * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime: * modules/quotearg, modules/savewd: * modules/unistdio/u16-u16-vasnprintf: * modules/unistdio/u16-vasnprintf: * modules/unistdio/u32-u32-vasnprintf: * modules/unistdio/u32-vasnprintf: * modules/unistdio/u8-u8-vasnprintf: * modules/unistdio/u8-vasnprintf: * modules/unistdio/ulc-vasnprintf: * modules/unistr/u8-uctomb, modules/vasnprintf: (Depends-on:): Add attribute module.
* mbrtowc: Ensure the mbtowc_lock is unique.Bruno Haible2020-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c. * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and lib/setlocale_null.c. * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include glthread/lock.h. Include mbtowc-lock.h. (mbtowc_lock): Remove declaration. (mbrtowc): Use mbtowc_with_lock. * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for threads.h. Set LIB_MBRTOWC. (gl_PREREQ_MBTOWC_LOCK): New macro. * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c, lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4. (Depends-on): Remove lock. (configure.ac): Arrange to compile mbtowc-lock.c. (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD). * modules/acl (Link): Likewise. * modules/argmatch (Link): Likewise. * modules/backup-rename (Link): Likewise. * modules/backupfile (Link): Likewise. * modules/closein (Link): Likewise. * modules/closeout (Link): Likewise. * modules/copy-file (Link): Likewise. * modules/csharpcomp (Link): Likewise. * modules/csharpexec (Link): Likewise. * modules/dfa (Link): Likewise. * modules/exclude (Link): Likewise. * modules/fnmatch (Link): Likewise. * modules/fnmatch-gnu (Link): Likewise. * modules/fnmatch-posix (Link): Likewise. * modules/glob (Link): Likewise. * modules/human (Link): Likewise. * modules/javacomp (Link): Likewise. * modules/javaexec (Link): Likewise. * modules/javaversion (Link): Likewise. * modules/mbfile (Link): Likewise. * modules/mbiter (Link): Likewise. * modules/mbmemcasecmp (Link): Likewise. * modules/mbmemcasecoll (Link): Likewise. * modules/mbrlen (Link): Likewise. * modules/mbscasecmp (Link): Likewise. * modules/mbscasestr (Link): Likewise. * modules/mbschr (Link): Likewise. * modules/mbscspn (Link): Likewise. * modules/mbsinit (Link): Likewise. * modules/mbslen (Link): Likewise. * modules/mbsncasecmp (Link): Likewise. * modules/mbsnlen (Link): Likewise. * modules/mbsnrtowcs (Link): Likewise. * modules/mbspbrk (Link): Likewise. * modules/mbspcasecmp (Link): Likewise. * modules/mbsrchr (Link): Likewise. * modules/mbsrtowcs (Link): Likewise. * modules/mbssep (Link): Likewise. * modules/mbsspn (Link): Likewise. * modules/mbsstr (Link): Likewise. * modules/mbstok_r (Link): Likewise. * modules/mbswidth (Link): Likewise. * modules/mbuiter (Link): Likewise. * modules/mkdir-p (Link): Likewise. * modules/propername (Link): Likewise. * modules/quote (Link): Likewise. * modules/quotearg (Link): Likewise. * modules/quotearg-simple (Link): Likewise. * modules/regex-quote (Link): Likewise. * modules/rpmatch (Link): Likewise. * modules/sh-quote (Link): Likewise. * modules/system-quote (Link): Likewise. * modules/trim (Link): Likewise. * modules/unistdio/ulc-asnprintf (Link): Likewise. * modules/unistdio/ulc-fprintf (Link): Likewise. * modules/unistdio/ulc-vasnprintf (Link): Likewise. * modules/unistdio/ulc-vasprintf (Link): Likewise. * modules/unistdio/ulc-vfprintf (Link): Likewise. * modules/unistdio/ulc-vsnprintf (Link): Likewise. * modules/unistdio/ulc-vsprintf (Link): Likewise. * modules/xfreopen (Link): Likewise. * modules/xmemcoll (Link): Likewise. * modules/yesno (Link): Likewise. * modules/regex (Link): Add $(LIB_MBRTOWC). * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC) instead of $(LIBTHREAD). * modules/argmatch-tests (Makefile.am): Likewise. * modules/closein-tests (Makefile.am): Likewise. * modules/copy-file-tests (Makefile.am): Likewise. * modules/dfa-tests (Makefile.am): Likewise. * modules/fnmatch-tests (Makefile.am): Likewise. * modules/glob-tests (Makefile.am): Likewise. * modules/mbmemcasecmp-tests (Makefile.am): Likewise. * modules/mbmemcasecoll-tests (Makefile.am): Likewise. * modules/mbrtowc-tests (Makefile.am): Likewise. * modules/mbscasecmp-tests (Makefile.am): Likewise. * modules/mbscasestr-tests (Makefile.am): Likewise. * modules/mbschr-tests (Makefile.am): Likewise. * modules/mbscspn-tests (Makefile.am): Likewise. * modules/mbsinit-tests (Makefile.am): Likewise. * modules/mbsncasecmp-tests (Makefile.am): Likewise. * modules/mbsnrtowcs-tests (Makefile.am): Likewise. * modules/mbspbrk-tests (Makefile.am): Likewise. * modules/mbspcasecmp-tests (Makefile.am): Likewise. * modules/mbsrchr-tests (Makefile.am): Likewise. * modules/mbsrtowcs-tests (Makefile.am): Likewise. * modules/mbsspn-tests (Makefile.am): Likewise. * modules/mbsstr-tests (Makefile.am): Likewise. * modules/quotearg-simple-tests (Makefile.am): Likewise. * modules/quotearg-tests (Makefile.am): Likewise. * modules/readtokens-tests (Makefile.am): Likewise. * modules/sh-quote-tests (Makefile.am): Likewise. * modules/system-quote-tests (Makefile.am): Likewise. * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise. * modules/yesno-tests (Makefile.am): Likewise. * modules/exclude-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC). * modules/regex-tests (Makefile.am): Likewise. * modules/regex-quote-tests (Makefile.am): Likewise.
* Fix link errors with --enable-threads=posix on AIX.Bruno Haible2019-12-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/mbrtowc (Link): New section. * modules/acl (Link): Likewise. * modules/argmatch (Link): Likewise. * modules/backup-rename (Link): Likewise. * modules/backupfile (Link): Likewise. * modules/closein (Link): Likewise. * modules/closeout (Link): Likewise. * modules/copy-file (Link): Likewise. * modules/csharpcomp (Link): Likewise. * modules/csharpexec (Link): Likewise. * modules/dfa (Link): Likewise. * modules/exclude (Link): Likewise. * modules/fnmatch (Link): Likewise. * modules/fnmatch-gnu (Link): Likewise. * modules/fnmatch-posix (Link): Likewise. * modules/glob (Link): Likewise. * modules/human (Link): Likewise. * modules/javacomp (Link): Likewise. * modules/javaexec (Link): Likewise. * modules/javaversion (Link): Likewise. * modules/mbfile (Link): Likewise. * modules/mbiter (Link): Likewise. * modules/mbmemcasecmp (Link): Likewise. * modules/mbmemcasecoll (Link): Likewise. * modules/mbrlen (Link): Likewise. * modules/mbscasecmp (Link): Likewise. * modules/mbscasestr (Link): Likewise. * modules/mbschr (Link): Likewise. * modules/mbscspn (Link): Likewise. * modules/mbsinit (Link): Likewise. * modules/mbslen (Link): Likewise. * modules/mbsncasecmp (Link): Likewise. * modules/mbsnlen (Link): Likewise. * modules/mbsnrtowcs (Link): Likewise. * modules/mbspbrk (Link): Likewise. * modules/mbspcasecmp (Link): Likewise. * modules/mbsrchr (Link): Likewise. * modules/mbsrtowcs (Link): Likewise. * modules/mbssep (Link): Likewise. * modules/mbsspn (Link): Likewise. * modules/mbsstr (Link): Likewise. * modules/mbstok_r (Link): Likewise. * modules/mbswidth (Link): Likewise. * modules/mbuiter (Link): Likewise. * modules/mkdir-p (Link): Likewise. * modules/propername (Link): Likewise. * modules/quote (Link): Likewise. * modules/quotearg (Link): Likewise. * modules/quotearg-simple (Link): Likewise. * modules/regex-quote (Link): Likewise. * modules/rpmatch (Link): Likewise. * modules/sh-quote (Link): Likewise. * modules/system-quote (Link): Likewise. * modules/trim (Link): Likewise. * modules/unistdio/ulc-asnprintf (Link): Likewise. * modules/unistdio/ulc-fprintf (Link): Likewise. * modules/unistdio/ulc-vasnprintf (Link): Likewise. * modules/unistdio/ulc-vasprintf (Link): Likewise. * modules/unistdio/ulc-vfprintf (Link): Likewise. * modules/unistdio/ulc-vsnprintf (Link): Likewise. * modules/unistdio/ulc-vsprintf (Link): Likewise. * modules/xfreopen (Link): Likewise. * modules/xmemcoll (Link): Likewise. * modules/yesno (Link): Likewise. * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD). * modules/argmatch-tests (Makefile.am): Likewise. * modules/closein-tests (Makefile.am): Likewise. * modules/copy-file-tests (Makefile.am): Likewise. * modules/dfa-tests (Makefile.am): Likewise. * modules/fnmatch-tests (Makefile.am): Likewise. * modules/glob-tests (Makefile.am): Likewise. * modules/mbmemcasecmp-tests (Makefile.am): Likewise. * modules/mbmemcasecoll-tests (Makefile.am): Likewise. * modules/mbrtowc-tests (Makefile.am): Likewise. * modules/mbscasecmp-tests (Makefile.am): Likewise. * modules/mbscasestr-tests (Makefile.am): Likewise. * modules/mbschr-tests (Makefile.am): Likewise. * modules/mbscspn-tests (Makefile.am): Likewise. * modules/mbsinit-tests (Makefile.am): Likewise. * modules/mbsncasecmp-tests (Makefile.am): Likewise. * modules/mbsnrtowcs-tests (Makefile.am): Likewise. * modules/mbspbrk-tests (Makefile.am): Likewise. * modules/mbspcasecmp-tests (Makefile.am): Likewise. * modules/mbsrchr-tests (Makefile.am): Likewise. * modules/mbsrtowcs-tests (Makefile.am): Likewise. * modules/mbsspn-tests (Makefile.am): Likewise. * modules/mbsstr-tests (Makefile.am): Likewise. * modules/quotearg-tests (Makefile.am): Likewise. * modules/quotearg-simple-tests (Makefile.am): Likewise. * modules/readtokens-tests (Makefile.am): Likewise. * modules/regex-quote-tests (Makefile.am): Likewise. * modules/sh-quote-tests (Makefile.am): Likewise. * modules/system-quote-tests (Makefile.am): Likewise. * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise. * modules/yesno-tests (Makefile.am): Likewise.
* backup: update dependenciesAkim Demaille2019-01-141-3/+4
| | | | | | | * modules/backup-rename (Depends-on): It now depends on opendirat instead of opendir. It also uses stdint, and xalloc-oversized. But no longer dirfd. * modules/backupfile (Depends-on): Add xalloc-oversized.
* renameatu: rename from renameat2Paul Eggert2018-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | It's looking like Glibc will add a renameat2 function that is incompatible with Gnulib renameat2; see: https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html To help avoid future confusion, rename renameat2 to something else. Use the name 'renameatu', as the Gnulib function is close to the Glibc function. Perhaps someday there will also be a renameat2 Gnulib module, which mimicks the future glibc renameat2, but that can wait as nobody seems to need such a module now. * NEWS: Mention this. * lib/renameatu.c: Rename from lib/renameat2.c. * lib/renameatu.h: Rename from lib/renameat2.h. * modules/renameat2: Rename from modules/renameatu. * modules/renameat2-tests: Rename from modules/renameat2-tests. All uses of "renameat2" in identifiers or file name changed to "renameatu", except for two instances in lib/renameatu.c that deal with the Linux kernel's renameat2 syscall.
* backup-rename: new modulePaul Eggert2017-07-301-0/+38
It is like backupfile, except it avoids some race conditions, and it does not output to stderr or exit. * MODULES.html.sh: Add backup-rename. * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c: * modules/backup-rename: New files. * lib/backupfile.c: Turn this into an internals file, which contains code common to backupfile and backup_rename. Do not include argmatch.h or xalloc.h: include xalloc-oversized.h. Include renameat2.h and fcntl.h. (BACKUP_NOMEM): New constant. (numbered_backup): New args BASE_OFFSET and *DIRPP. Do not exit on memory exhaustion; just return BACKUP_NOMEM. Caller changed. (backupfile_internal): Rename from find_backup_file_name. Support new arg RENAME. (backup_args, backup_types, get_version, xget_version): Move to lib/backup-find.c. * lib/backupfile.h (backup_file_rename): New decl. * modules/backupfile (Files): Add lib/backup-internal.h, lib/backup-find.c. (Depends-on): Add dirfd, fcntl, renameat2. (lib_SOURCES): Add backup-find.c.