summaryrefslogtreecommitdiff
path: root/modules/nstrftime
Commit message (Collapse)AuthorAgeFilesLines
* nstrftime: simplify by using libc-config.h.Paul Eggert2021-12-181-0/+1
| | | | | | | | * lib/nstrftime.c [!_LIBC]: Include libc-config.h instead of config.h. (iso_week_days): Simplify via libc-config.h’s __inline. (my_strftime): Simplify via libc-config.h’s libc_hidden_def. * modules/nstrftime (Depends-on): Add libc-config.
* 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.
* nstrftime: be more predictable about errnoPaul Eggert2020-08-151-0/+1
| | | | | | | | | | | | This aligns nstrftime better with draft POSIX 202x strftime. * lib/nstrftime.c: Include errno.h. (width_add, __strftime_internal): Set errno on failure, and preserve it on success. Check for mktime_z failure. * modules/nstrftime (Depends-on): Add errno. * modules/nstrftime-tests (Depends-on): Add atoll, intprops. * tests/test-nstrftime.c: Include intprops.h, limits.h. (errno_test): New test function. (main): Call it.
* 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.
* nstrftime: speed up integer overflow checkingPaul Eggert2019-10-231-0/+1
| | | | | | | | * lib/nstrftime.c: Include intprops.h. (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn. (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV instead of doing it by hand. * modules/nstrftime (Depends-on): Add intprops.
* Rename module 'strftime' to 'nstrftime'.Bruno Haible2017-07-241-0/+28
* m4/nstrftime.m4: Renamed from m4/strftime.m4. * lib/nstrftime.c: Renamed from lib/strftime.c. * modules/nstrftime: Renamed from modules/strftime. (Files, Makefile.am): Update. * tests/test-nstrftime.c: Renamed from tests/test-strftime.c. Fix comment. * modules/nstrftime-tests: Renamed from modules/strftime-tests. (Files, Makefile.am): Update. * modules/strftime: New file, an obsolete indirection. * doc/posix-functions/strftime.texi: Update reference. * config/srclist.txt: Update info.