summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2004-07-28memchr and memrchr portability fixes.Paul Eggert
2004-07-28Include <stddef.h>, not <stdlib.h> and <sys/types.h>.Paul Eggert
(LONG_MAX_32_BITS): Remove. Include <inttypes.h> and <stdint.h> if available. (alignof, UNALIGNEDP): New macro, portable to all C89 hosts. (__memrchr): Don't assume unsigned long int is either 4 or 8 bytes; let it be any number of bytes greater than or equal to 4.
2004-07-28Include <stddef.h>, not <stdlib.h> and <sys/types.h>.Paul Eggert
(LONG_MAX_32_BITS): Remove. Include <inttypes.h> and <stdint.h> if available. (alignof, UNALIGNEDP): New macro, portable to all C89 hosts. (__memchr): Don't assume unsigned long int is either 4 or 8 bytes; let it be any number of bytes greater than or equal to 4. * memrchr.c: Likewise, with __memrchr.
2004-07-28md5, sha1 cleanups; getugroups change.Paul Eggert
2004-07-28Don't include <sys/types.h> or <stdlib.h>; <stddef.h>Paul Eggert
suffices with C89 or better. (alignof): New macro, portable to all C89 hosts. (UNALIGNED): Use it. Use uintptr_t if available, and assume everything is unaligned otherwise; this is more portable than assuming 'unsigned long int' will always work.
2004-07-28Include <stdint.h> if HAVE_STDINT_H || _LIBC, notPaul Eggert
ifdef _LIBC. (md5_uint32): Use uint32_t if available. Simplify fallback ifdefs.
2004-07-28Include <errno.h>.Paul Eggert
(EOVERFLOW): Define if not defined. (getgroups): Return -1 with errno=EOVERFLOW if an integer overflow occurs.
2004-07-28Regenerate.Paul Eggert
2004-07-28Get eaccess from libgen if available; that's where it is on Solaris 9.Paul Eggert
2004-07-28euidaccess.c [HAVE_LIBGEN_H]: Include <libgen.h>, forPaul Eggert
eaccess on Solaris and SVR4-like systems. (euidaccess): Use HAVE_EACCESS, not HAVE_DECL_EACCESS.
2004-07-28cycle-check integer overflow fixup.Paul Eggert
2004-07-28Remove now-inaccurate comment about the filesPaul Eggert
you need to include first. You don't need to include any files other than the usual config.h. Include <inttypes.h> and <stdint.h> if available, for uintmax_t. Remove 'struct stat;' not needed since we know sys/stat.h has been included by dev-ino.h. (struct cycle_check_state): Change chdir_counter to uintmax_t, not size_t, since it isn't limited by object sizes. Change magic from long unsigned int to int; that's good enough for our use.
2004-07-28(is_zero_or_power_of_two): Renamed fromPaul Eggert
is_power_of_two, to reflect better what it really does. All uses changed. Arg is now uintmax_t, not unsigned int (it should have been unsigned long int -- that was a bug). (cycle_check): Check for integer overflow in cycle count, and report a cycle if that happens, as it must be a cycle by this point.
2004-07-27Regenerate.Paul Eggert
2004-07-27Merged into backupfile.c.Paul Eggert
2004-07-27backupfile integer overflow fixupsPaul Eggert
2004-07-27backupfile.c rewrite to avoid arbitrary limits on lengths ofPaul Eggert
numeric backup extensions. Include "backupfile.h" first. Include errno.h, stdbool.h, limits.h, unistd.h, xalloc.h. (CLOSEDIR, INT_STRLEN_BOUND): Remove. (pathconf) [! (HAVE_PATHCONF && defined _PC_NAME_MAX)]: New macro. (_POSIX_NAME_MAX) [!defined _POSIX_NAME_MAX]: New macro. (NAME_MAX_MAXIMUM): New macro. Unlike the old addext.c, we also look at _XOPEN_NAME_MAX, for better performance on modern hosts that support only file names of length 255 or more. (ISDIGIT): unsigned -> unsigned int (max_backup_version, version_number): Remove. (check_extension): New function. Similar to the old addext, but static, assumes that the extension has already been added, and a bit more careful on DOS hosts. (numbered_backup): New function. It does what max_backup_version and version_number used to do, but it doesn't use integer arithmetic to calculate extensions so it doesn't overflow. (find_backup_file_name): Rewrite to use these new functions. This has a new optimization: we needn't call pathconf if the new numbered backup name has the same length as the old. Also, use xmalloc rather than malloc, so that the caller needn't worry about memory exhaustion.
2004-07-27backupfile.h (addext): Remove decl.Paul Eggert
2004-07-27(libfetish_a_SOURCES): Remove addext.c.Paul Eggert
2004-07-25euidaccess fixesPaul Eggert
2004-07-25[!defined LIBC]: Included group-member.h, stat-macros.h.Paul Eggert
(S_IXUSR, S_IXGRP, S_IXOTH, S_IROTH, S_IWOTH, S_IXOTH): Remove; now done by stat-macros.h. (NGROUPS_MAX, group_member): Remove; now down by group-member.h. No need to include <limits.h>. (errno): Remove decl; we now assume C89 or better. (access, getuid, getgid, geteuid, getegid, stat) [defined _LIBC]: New macros. (uid, gid, have_ids): Remove these static variables. They weren't accurate for programs that also invoked setreuid etc. (euidaccess) [defined EFF_ONLY_OK || defined ACC_SELF || HAVE_DECL_EACCSS]: Use builtin substitutes. [defined _LIBC]: Ignore __libc_enable_secure; it's not a correct optimization for programs run as root that later invoke setreuid. [no builtin substitutes && HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS]: Use setreuid+setregid to get the correct answer. [no builtin substitutes && ! (HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS)]: Don't assume that the stat macros have their historical values, as POSIX doesn't require this. [defined TEST]: Include <stdlib.h>; don't include errno.h twice; include <error.h> rather than "error.h".
2004-07-24Move some changelog entries here from ../ChangeLog.Paul Eggert
2004-07-23Regenerate.Paul Eggert
2004-07-23(libfetish_a_SOURCES): Add fcntl-safer.h, open-safer.c.Paul Eggert
2004-07-23New file.Paul Eggert
2004-07-13Prefer c_strtod to setlocale when scanning floating point.Paul Eggert
2004-07-12Include <errno.h>, <stdio.h>, <stdlib.h> evenPaul Eggert
if HAVE_GETLOADAVG is defined, so that the test program can work. (errno): Remove declaration; not needed in C89 or later. Include "c-strtod.h". Do not include locale.h or define setlocale; no longer needed. Include <limits.h>. (INT_STRLEN_BOUND): New macro. (getloadavg): Use it to compute buffer size. Don't assume that buffer will be properly terminated by 'read'. Use c_strtod instead of setlocale. (main) [defined TEST]: Return int, not void.
2004-07-12(STRTOD_L): New macro.Paul Eggert
(C_STRTOD) [defined LC_ALL_MASK]: Use it, so that the code is reentrant on platforms that have strtod_l.
2004-07-12Regenerate.Paul Eggert
2004-07-12printf now uses long double.Paul Eggert
2004-07-12New file.Paul Eggert
2004-07-12(c_strtold): New decl.Paul Eggert
2004-07-12Include <config.h> first.Paul Eggert
(C_STRTOD, DOUBLE, STRTOD): New macros. (c_strtod): Use them.
2004-07-12(libfetish_a_SOURCES): Add c-strtold.c.Paul Eggert
2004-07-07*** empty log message ***Jim Meyering
2004-07-07Don't infloop when MAXSYMLINKS is not defined.Jim Meyering
Detect symlink loops much earlier (albeit lazily) on systems with MAXSYMLINKS defined to a large value. Include "cycle-check.h". (canonicalize_filename_mode): Don't try to detect loops by counting symlink-hops. Instead, use the cycle-check module.
2004-07-07Include stdbool.h.Jim Meyering
Forward-declare `struct stat'.
2004-07-07*** empty log message ***Jim Meyering
2004-07-07(canonicalize_filename_mode): Remove do-while(0) loop.Jim Meyering
Replace each corresponding `break' stmt with `continue'.
2004-07-06.Jim Meyering
2004-07-06Include "stat-macros.h".Jim Meyering
(canonicalize_filename_mode): Remove #ifdef S_ISLNK, now that S_ISLNK is guaranteed to be defined (via stat-macros.h).
2004-07-06*** empty log message ***Jim Meyering
2004-07-06(libfetish_a_SOURCES): Add canonicalize.c unconditionally.Jim Meyering
2004-07-06(canonicalize_mode_t): New type.Jim Meyering
2004-07-06Include "file-type.h".Jim Meyering
(canonicalize_filename_mode): New function, based on canonicalize_file_name, supports three canonicalize modes. (canonicalize_file_name) [!HAVE_CANONICALIZE_FILE_NAME && !HAVE_RESOLVEPATH]: Use it.
2004-07-05*** empty log message ***Jim Meyering
2004-07-05(path_concat): Improve comment. From Paul Eggert.Jim Meyering
2004-07-04*** empty log message ***Jim Meyering
2004-07-04(mempcpy): Don't define if a system header defines it.Jim Meyering
Don't include stdio.h, stdlib.h, unistd.h, strdup.h. (longest_relative_suffix): New function. (path_concat): Use it. Assume first argument is not NULL. Port to DOS. Omit redundant separators. Report an error instead of returning NULL. Use mempcpy instead of memcpy. (xpath_concat): Remove: not declared or used.
2004-07-04(canonicalize_file_name): Assume that path_concat never returns NULL.Jim Meyering