summaryrefslogtreecommitdiff
path: root/lib/lstat.c
Commit message (Collapse)AuthorAgeFilesLines
* stat, lstat: Fix conflict with relocatable-prog-wrapper module.Bruno Haible2019-02-241-1/+5
| | | | | | | | * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not "sys/stat.h". * lib/lstat.c: Likewise. * lib/fstat.c: Likewise. * lib/fstatat.c: Likewise.
* maint: Run 'make update-copyright'Paul Eggert2019-01-011-1/+1
|
* maint: Run 'make update-copyright'Paul Eggert2018-01-011-1/+1
|
* stat: work around Solaris bug with tv_nsec < 0Paul Eggert2017-11-231-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/posix-functions/fstat.texi (fstat): * doc/posix-functions/fstatat.texi (fstatat): * doc/posix-functions/lstat.texi (lstat): * doc/posix-functions/stat.texi (stat): Mention Solaris 11 bug. * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h. * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]: * lib/lstat.c (rpl_lstat): * lib/stat.c (rpl_stat): Normalize resulting timestamps. * lib/fstatat.c (normal_fstatat): New function. (rpl_fstatat): Use it. * lib/stat-time.h: Include intprops.h, errno.h, stddef.h. (stat_time_normalize): New function. * m4/fstat.m4 (gl_FUNC_FSTAT): * m4/fstatat.m4 (gl_FUNC_FSTATAT): * m4/lstat.m4 (gl_FUNC_LSTAT): * m4/stat.m4 (gl_FUNC_STAT): Replace on Solaris. * modules/fstat (Depends-on): * modules/fstatat (Depends-on): Add stat-time. * modules/stat-time (Depends-on): Add errno, intprops.
* all: prefer https: URLsPaul Eggert2017-09-131-1/+1
|
* version-etc: new yearPaul Eggert2017-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* version-etc: new yearPaul Eggert2016-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* version-etc: new yearPaul Eggert2014-12-311-1/+1
| | | | | | * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. * all files: Run 'make update-copyright'.
* maint: update copyrightEric Blake2014-01-011-1/+1
| | | | | | I ran 'make update-copyright'. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: update all copyright year number rangesEric Blake2013-01-011-1/+1
| | | | | | Run "make update-copyright". Compare to commit 1602f0a from last year. Signed-off-by: Eric Blake <eblake@redhat.com>
* ftruncate, fts, lstat, openat, raise: no 'static inline'Paul Eggert2012-11-291-1/+1
| | | | | | | | | | | | | | | * lib/ftruncate.c (chsize_nothrow): * lib/fts.c (opendirat, diropen): * lib/lstat.c (orig_lstat): * lib/openat.c (orig_openat): * lib/raise.c (raise_nothrow): Now static, not static inline. * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): * m4/fts.m4 (gl_FUNC_FTS_CORE): * m4/lstat.m4 (gl_PREREQ_LSTAT): * m4/openat.m4 (gl_PREREQ_OPENAT): * m4/raise.m4 (gl_PREREQ_RAISE): Do not require AC_C_INLINE.
* In commentary, do not use ` to quote.Paul Eggert2012-01-051-3/+3
|
* maint: update all copyright year number rangesJim Meyering2012-01-011-1/+1
| | | | Run "make update-copyright".
* openat: Work around compilation error with OSF/1 5.1 DTK cc.Bruno Haible2011-09-081-1/+4
| | | | | | | | | | * lib/fopen.c: Use different syntax for include of <stdio.h>. * lib/freopen.c: Likewise. * lib/fstatat.c: Use different syntax for include of <sys/stat.h>. * lib/lstat.c: Likewise. * lib/stat.c: Likewise. * lib/open.c: Use different syntax for include of <fcntl.h>. * lib/openat.c: Include fcntl.h again, explicitly.
* Avoid endless recursions if config.h includes some header files.Bruno Haible2011-08-301-1/+4
| | | | | | | | | * lib/fopen.c (__need_FILE): Define already before including config.h. * lib/freopen.c (__need_FILE): Likewise. * lib/open.c (__need_system_fcntl_h): Likewise. * lib/stat.c (__need_system_sys_stat_h): Likewise. * lib/lstat.c (__need_system_sys_stat_h): Likewise. Reported by Michael Goffioul <michael.goffioul@gmail.com>.
* maint: update almost all copyright ranges to include 2011Jim Meyering2011-01-011-1/+1
| | | | Run the new "make update-copyright" rule.
* update nearly all FSF copyright year lists to include 2010Jim Meyering2010-01-011-1/+1
| | | | | Use the same procedure as for 2009, outlined in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
* update nearly all FSF copyright year lists to include 2009Jim Meyering2009-12-291-2/+1
| | | | | | | | | | | | | | | | | | The files named by the following are exempted: grep -v '^#' config/srclist.txt|grep -v '^$' \ | while read src dst; do test -f "$dst" && { echo "$dst"; continue; } test -d "$dst" || continue echo "$dst"/$(basename "$src") done > exempt git ls-files tests/unictype >> exempt In the remaining files, convert to all-interval notation if - there is already at least one year interval like 2000-2003 - the file is maintained by me - the file is in lib/uni*/, where that style already prevails Otherwise, use update-copyright's default.
* lstat: avoid mingw compilation errorEric Blake2009-09-231-7/+16
| | | | | | | | | | | | | | | | | | | The openat module required lstat, but then repeated the checks for whether lstat worked. When cross-compiling to mingw, this led to a wrong answer and tried compiling lstat.c, even though it was not necessary, with a result of a compiler warning about undeclared lstat. * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing lstat ourselves. * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override was adequate. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle the checks for lstat. (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT. Signed-off-by: Eric Blake <ebb9@byu.net>
* lstat: fix Solaris 9 bugEric Blake2009-09-191-20/+21
| | | | | | | | | | | | | lstat("file/",buf) mistakenly succeeded. * lib/lstat.c (lstat): Also check for trailing slash on non-symlink, non-directories. Use stat module to simplify logic. * doc/posix-functions/lstat.texi (lstat): Document it. * modules/lstat-tests (Depends-on): Add errno, same-inode. (configure.ac): Check for symlink. * tests/test-lstat.c (main): Add more tests. Signed-off-by: Eric Blake <ebb9@byu.net>
* Move the lstat() declaration to <sys/stat.h>.Bruno Haible2008-10-211-8/+15
|
* Change copyright notice from GPLv2+ to GPLv3+.Bruno Haible2007-10-071-5/+4
|
* Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.Paul Eggert2006-10-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stat-macros.h is now for our own macros, whereas stat_h is for macros in the <sys/stat.h> name space. * lib/stat-macros.h: Remove copyright notice, as this file is now tiny. (STAT_MACROS_H): Remove. (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM): (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT): (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD): (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP): (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH): (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO): Move these macros to ... * lib/stat_.h: here. Don't include stat-macros.h. * lib/canonicalize.c: Don't include stat-macros.h. * lib/chown.c: Likewise. * lib/euidaccess.c: Likewise. * lib/file-type.c: Likewise. * lib/filemode.c: Likewise. * lib/glob.c: Likewise. * lib/isapipe.c: Likewise. * lib/lchown.c: Likewise. * lib/lstat.c: Likewise. * lib/mkdir-p.c: Likewise. * lib/rmdir.c: Likewise. * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h unless mkdir isn't declared, to speed up 'configure'. Always create sys/stat.h, since it's unlikely any real sys/stat.h would define all the S_* symbols. * modules/canonicalize (Depends-on): Depend on sys_stat, not stat-macros. * modules/chown: Likewise. * modules/euidaccess: Likewise. * modules/filemode: Likewise. * modules/file-type: Likewise. * modules/glob: Likewise. * modules/isapipe: Likewise. * modules/lchown: Likewise. * modules/lstat: Likewise. * modules/mkancesdirs: Likewise. * modules/rmdir: Likewise. * modules/mkdir-p (Depends-on): Also depend on sys_stat. * modules/modechange: Likewise. * modules/stat-macros (Files): Remove m4/stat-macros.m4. (configure.ac): Remove gl_STAT_MACROS. * modules/sys_stat (Depends-on): Remove stat-macros.
* * _fpending.c: Include <config.h> unconditionally, since we noPaul Eggert2006-09-131-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | longer worry about uses that don't define HAVE_CONFIG_H. * acl.c, alloca.c, argmatch.c, atexit.c, backupfile.c: * basename.c, c-stack.c, c-strtod.c, calloc.c, canon-host.c: * canonicalize.c, chdir-long.c, chdir-safer.c, chown.c: * cloexec.c, close-stream.c, closeout.c, creat-safer.c: * cycle-check.c, diacrit.c, dirchownmod.c, dirfd.c, dirname.c: * dup-safer.c, dup2.c, error.c, euidaccess.c, exclude.c: * exitfail.c, fchmodat.c, fchown-stub.c, fd-safer.c: * file-type.c, fileblocks.c, filemode.c, filenamecat.c: * fnmatch.c, fopen-safer.c, fprintftime.c, free.c, fsusage.c: * ftruncate.c, fts-cycle.c, fts.c, full-write.c, gai_strerror.c: * getcwd.c, getdate.y, getdomainname.c, getgroups.c: * gethostname.c, gethrxtime.c, getloadavg.c, getlogin_r.c: * getndelim2.c, getnline.c, getopt.c, getopt1.c, getpass.c: * gettime.c, gettimeofday.c, getugroups.c, getusershell.c: * glob.c, group-member.c, hard-locale.c, hash-pjw.c, hash.c: * human.c, idcache.c, inet_ntop.c, inet_pton.c, inttostr.c: * isdir.c, lchown.c, linebuffer.c, long-options.c, lstat.c: * malloc.c, md5.c, memcasecmp.c, memchr.c, memcmp.c, memcoll.c: * memcpy.c, memmove.c, memrchr.c, mkancesdirs.c, mkdir-p.c: * mkdir.c, mkdirat.c, mkstemp-safer.c, mkstemp.c, modechange.c: * mountlist.c, nanosleep.c, obstack.c, open-safer.c: * openat-die.c, openat.c, pagealign_alloc.c, physmem.c: * pipe-safer.c, posixtm.c, posixver.c, putenv.c, quote.c: * quotearg.c, raise.c, readtokens.c, readtokens0.c, readutmp.c: * realloc.c, regex.c, rename.c, rmdir.c, rpmatch.c, safe-read.c: * same.c, save-cwd.c, savedir.c, setenv.c, settime.c, sha1.c: * sig2str.c, snprintf.c, strdup.c, strerror.c, strftime.c: * stripslash.c, strndup.c, strnlen.c, strpbrk.c, strtod.c: * strtoimax.c, strtol.c, strverscmp.c, tempname.c, time_r.c: * timegm.c, tmpfile-safer.c, unlinkdir.c, userspec.c, utime.c: * utimecmp.c, utimens.c, version-etc-fsf.c, version-etc.c: * xalloc-die.c, xgetcwd.c, xgethostname.c, xmalloc.c: * xmemcoll.c, xnanosleep.c, xreadlink.c, xstrtod.c: * xstrtoimax.c, xstrtol.c, xstrtoumax.c, yesno.c: Likewise.
* Sync from coreutils.Paul Eggert2006-02-141-21/+24
| | | | | | | | | | | | | | | | | | | | * modules/lstat (Depends-on): Don't depend on xalloc. (License): Change from GPL to LGPL, since this is now simply a replacement for a libc function. Eliminate the unwelcome (albeit unlikely) possibility of xmalloc failure on deficient systems, and simplify gnulib lgpl dependencies. * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the xmalloc/lstat combination. Based on a patch from Bruno Haible. * lib/xalloc-die.c: Remove unused definition of N_. * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke AC_CHECK_FUNCS(getmntent) unconditionally so that tests of $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not double-quote uses of that variable, to accommodate the rare case in which getmntent is available in none of the libraries checked. This happens at least on FreeBSD 5.0.
* Use a consistent style for including <config.h>.Paul Eggert2005-09-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * __fpending.c, acl.c, argmatch.c, argp-help.c, argp-parse.c, argp-pvh.c, backupfile.c, basename.c, c-stack.c, calloc.c, check-version.c, cloexec.c, closeout.c, copy-file.c, creat-safer.c, cycle-check.c, dirfd.c, dirname.c, dup-safer.c, dup2.c, euidaccess.c, exclude.c, exitfail.c, fatal-signal.c, fd-safer.c, file-type.c, fileblocks.c, filemode.c, filenamecat.c, findprog.c, fnmatch.c, fopen-safer.c, free.c, fsusage.c, ftruncate.c, full-write.c, fwriteerror.c, getaddrinfo.c, getcwd.c, getdelim.c, getline.c, getlogin_r.c, getndelim2.c, getnline.c, getopt1.c, getpass.c, group-member.c, hard-locale.c, hash-pjw.c, hash.c, human.c, idcache.c, inet_ntop.c, isdir.c, long-options.c, malloc.c, memcasecmp.c, memcmp.c, memcoll.c, memcpy.c, memmove.c, mkdir-p.c, modechange.c, mountlist.c, open-safer.c, physmem.c, pipe-safer.c, pipe.c, poll.c, posixver.c, progname.c, progreloc.c, putenv.c, quote.c, quotearg.c, readline.c, readlink.c, realloc.c, regex.c, rename.c, rmdir.c, rpmatch.c, safe-read.c, same.c, save-cwd.c, savedir.c, sig2str.c, strcspn.c, strerror.c, stripslash.c, strncasecmp.c, strndup.c, strnlen.c, strnlen1.c, strsep.c, strstr.c, strtod.c, strtoimax.c, strtol.c, strverscmp.c, tempname.c, time_r.c, userspec.c, utimecmp.c, version-etc-fsf.c, version-etc.c, wait-process.c, xalloc-die.c, xgetcwd.c, xmalloc.c, xmemcoll.c, xnanosleep.c, xreadlink.c, xsetenv.c, xstrndup.c, xstrtoimax.c, xstrtol.c, xstrtoumax.c, yesno.c: Standardize inclusion of config.h. * __fpending.h, dirfd.h, getdate.h, human.h, inttostr.h: Removed inclusion of config.h from header files. * inttostr.c: Adjusted in-tree users. * timespec.h: Remove superfluous warning to include config.h. * atexit.c, chdir-long.c chown.c, fchown-stub.c, getgroups.c, gettimeofday.c, lchown.c, lstat.c, mkdir.c, mkstemp.c, nanosleep.c, openat.c, raise.c, readtokens0.c, readutmp.c, unlinkdir.c: Guard inclusion of config.h with HAVE_CONFIG_H.
* Remove stat module & update lstat.Derek R. Price2005-06-241-6/+58
| | | | | | | | | | | | | | | | | | * MODULES.html.sh (stat): Remove. * MODULES.html: Regenerated. * config/srclist.txt (GLIBC sources): Remove stat. * lib/stat.c: Remove this file... (slash_aware_lstat): ...moving this content and its support... * lib/lstat.c (rpl_lstat): ...into here. * lib/lstat.h: New file. * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. * m4/stat.m4: Remove this file. * modules/lstat (Description): Correct function name. (Files): Add "lstat.h". (Depends-on): Remove stat, add xalloc, stat-macros. * modules/stat: Remove this file. (Include): Add "lstat.h", remove <sys/stat.h>.
* *** empty log message ***Paul Eggert2005-05-141-1/+1
|
* Correct SunOS and Solaris version number notation to match Sun's usage.Paul Eggert2003-07-221-2/+4
|
* New file. Simply #define LSTAT and include stat.c.Jim Meyering2002-12-041-0/+21
|
* .Jim Meyering1998-12-121-49/+0
|
* [lstat]: Remove #undef.Jim Meyering1998-11-081-11/+10
| | | | | (rpl_lstat): Protoize. Use ENOENT, not EINVAL, to be consistent with lib/stat.c.
* *** empty log message ***Jim Meyering1997-08-311-3/+7
|
* .Jim Meyering1997-08-311-0/+46