|
3f3d9b41
|
2012-04-14T23:27:45
|
|
Large File Support for native Windows platforms.
* m4/largefile.m4 (gl_LARGEFILE): New macro.
* modules/largefile (configure.ac): Require gl_LARGEFILE.
* lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
type.
* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
* modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
* doc/posix-headers/sys_types.texi: Mention the effect of the
'largefile' module.
* lib/fcntl.in.h: Add comments about off_t.
* modules/fcntl-h (Depends-on): Add sys_types.
* lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
(ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
* m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
(gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
* modules/unistd (Depends-on): Add sys_types.
(Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
* lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
instead of lseek.
* m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
* modules/lseek (Depends-on): Add sys_types.
* lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
msvc-nothrow.h.
(SetFileSize): New function.
(ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
if Large File Support is requested.
* modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
(Depends-on): Add sys_types, msvc-nothrow. Update conditions.
* lib/stdio.in.h: Add comments about off_t.
* modules/stdio (Depends-on): Add sys_types.
* lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
instead of ftello.
* m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
(gl_PREREQ_FTELLO): New macro.
* modules/ftello (Depends-on): Add sys_types.
(configure.ac): Incoke gl_PREREQ_FTELLO.
* lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
instead of fseeko.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
(gl_PREREQ_FSEEKO): New macro.
* modules/fseeko (Depends-on): Add sys_types.
(configure.ac): Invoke gl_PREREQ_FSEEKO.
* lib/sys_stat.in.h: Add comments about off_t.
(stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
64-bit integer for st_size in 'struct stat'.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
Define _GL_WINDOWS_64_BIT_ST_SIZE.
* modules/sys_stat (Depends-on): Add sys_types.
(Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
* lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
instead of stat or _stat.
* lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
'struct _stati64' instead of fstat and 'struct stat'.
* m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
Reported by Ray Satiro <raysatiro@yahoo.com>.
|
|
341111f6
|
2012-02-09T21:39:05
|
|
maint: replace FSF snail-mail addresses with URLs
* config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
* lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
* lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
* lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
* lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
* lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
* lib/check-version.c, lib/check-version.h, lib/config.charset:
* lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
* lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
* lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
* lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
* lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
* lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
* lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
* lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
* lib/glthread/thread.c, lib/glthread/thread.h:
* lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
* lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
* lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
* lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
* lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
* lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
* lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
* lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
* lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
* lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
* lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
* lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
* lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
* lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
* lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
* lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
* lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
* lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
* lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
* lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
* lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
* lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
* lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
* lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
* lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
* lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
* lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
* lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
* lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
* lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
* lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
* lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
* lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
* lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
* lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
* lib/xsize.h, tests/test-closein.c, tests/test-des.c:
* tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
* tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
* tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
* tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
* tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
* tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
* tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
* tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
* tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
* tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
* tests/test-poll.c, tests/test-quotearg-simple.c:
* tests/test-quotearg.c, tests/test-quotearg.h:
* tests/test-round-ieee.c, tests/test-round1.c:
* tests/test-roundf-ieee.c, tests/test-roundf1.c:
* tests/test-roundl-ieee.c, tests/test-roundl.c:
* tests/test-safe-alloc.c, tests/test-sigpipe.c:
* tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
* tests/test-strerror.c, tests/test-strerror_r.c:
* tests/test-strsignal.c, tests/test-strverscmp.c:
* tests/test-xmemdup0.c:
Replace FSF snail mail addresses with URLs, as per GNU coding
standards. See glibc bug
<http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
|
|
a9097796
|
2012-01-15T17:35:55
|
|
Improve support for MSVC 9.
* lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
clashes on MSVC.
* lib/fcntl.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
|
|
d7af94ea
|
2012-01-03T03:54:08
|
|
New module 'isatty'.
* lib/unistd.in.h (isatty): New declaration.
* lib/isatty.c: New file, based on an idea of
Bastien Roucariès <roucaries.bastien@gmail.com>.
* m4/isatty.m4: New file.
* m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
* modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
REPLACE_ISATTY.
* modules/isatty: New file.
* doc/posix-functions/isatty.texi: Mention the new module.
Suggested by Paolo Bonzini.
|
|
1602f0af
|
2012-01-01T10:04:58
|
|
maint: update all copyright year number ranges
Run "make update-copyright".
|
|
cea318a9
|
2011-12-03T14:22:09
|
|
Tweak last commit.
* lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
Fix preprocessor directives indentation. Fix typos.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
* modules/unistd (Makefile): Likewise.
|
|
0ce62ceb
|
2011-12-02T23:04:18
|
|
Integrate the sethostname module into unistd
Ensure that sethostname is accounted for within the unistd module.
* lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
into the unistd.h header.
* m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
preprocessor directives.
* modules/unistd: Setup the Makefile substitutions of the
SETHOSTNAME preprocessor directives.
Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
|
|
e395879b
|
2011-09-24T16:46:51
|
|
write: Support for MSVC 9.
* lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/write.c (write_nothrow): New function.
(rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
not 1. Use write_nothrow.
* m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_WRITE): New macro.
* modules/write (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_WRITE.
* doc/posix-functions/write.texi: Mention the problem on MSVC.
|
|
7bad64ea
|
2011-09-24T04:07:12
|
|
read: Support for MSVC 9.
* lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/read.c (read_nothrow): New function.
(rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
read_nothrow.
* m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_READ): New macro.
* modules/read (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_READ.
* doc/posix-functions/read.texi: Mention the problem on MSVC.
|
|
4810e2dc
|
2011-09-24T02:08:13
|
|
New module 'dup'.
* lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
Allow replacement.
* lib/dup.c: New file.
* lib/fchdir.c (rpl_dup): Remove function.
* m4/dup.m4: New file.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
* m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
* modules/unistd (Makefile.am): Substitute GNULIB_DUP.
* modules/dup: New file.
* tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
'dup' module is in use.
* modules/fdopendir (Depends-on): Add dup.
* modules/fdutimensat-tests (Depends-on): Likewise.
* modules/fts (Depends-on): Likewise.
* modules/futimens-tests (Depends-on): Likewise.
* modules/posix_spawnp-tests (Depends-on): Likewise.
* modules/unistd-safer-tests (Depends-on): Likewise.
* modules/utimens-tests (Depends-on): Likewise.
* doc/posix-functions/dup.texi: Mention the new module and the problem
on MSVC.
|
|
0d22381b
|
2011-09-23T12:32:41
|
|
New module 'chdir'.
* modules/chdir: New file.
* lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
(chdir): New declaration.
* m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
* modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
* tests/test-unistd-c++.cc: Check signature of chdir.
* doc/posix-functions/chdir.texi: Mention problem on native Windows.
* modules/chdir-long (Depends-on): Add chdir.
* modules/fchdir (Depends-on): Likewise.
* modules/rename (Depends-on): Likewise.
* modules/savewd (Depends-on): Likewise.
|
|
07fb52f8
|
2011-09-23T12:08:40
|
|
rmdir: Support for mingw, MSVC 9.
* lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
* doc/posix-functions/getcwd.texi: Mention problem on native Windows.
|
|
18306a88
|
2011-09-23T12:05:16
|
|
getcwd: Tweak for MSVC 9.
* lib/unistd.in.h: Update comments.
* doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
|
|
c124cabd
|
2011-09-17T17:34:03
|
|
putenv: Support for MSVC.
* modules/putenv (Depends-on): Add environ.
* lib/putenv.c (environ): Disable declaration.
* lib/unistd.in.h: Update comment.
|
|
827ad410
|
2011-09-16T22:55:49
|
|
Support for MSVC compiler: Ensure off_t gets defined.
* lib/unistd.in.h: Include <sys/types.h>.
* tests/test-fcntl-h.c: Check that off_t is defined.
* tests/test-sys_stat.c: Likewise.
* tests/test-sys_types.c: Likewise.
|
|
c14a71ce
|
2011-09-16T13:49:16
|
|
fdatasync: port to MacOS X 10.7
MacOS X 10.7 added an fdatasync syscall and exports a symbol for it,
but fails to declare it anywhere. Lacking any hard evidence that this
syscall is broken, we will just provide the declaration and use it.
* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
declared.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (fdatasync): Declare on MacOS.
* doc/posix-functions/fdatasync.texi (fdatasync): Document it.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
f406ad99
|
2011-09-16T12:12:41
|
|
unistd: update refs to newer POSIX
usleep only exists in POSIX 2001, but for the rest of the functions
where we pointed to online POSIX specs, we might as well point to the
latest version of the standard.
* lib/unistd.in.h: Prefer POSIX 2008 over 2001.
Suggested by Bruno Haible.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
64da7b6c
|
2011-09-16T09:59:23
|
|
fdatasync: new module
At least libvirt would like to use the lighter-weight fdatasync
on platforms where it is supported, while still guaranteeing full
sync (via the heavy-weight fsync fallback) on all platforms.
I've got an open question to the Austin Group, since the POSIX 2008
wording is self-contradictory (unlike fsync, fdatasync requires
EBADF on non-writable fds, but still mentions that read() errors
must be propagated). I can see how fsync() would affect atime after
read() while fdatasync() can skip that, explaining why fdatasync()
might have the EBADF requirement, but on the other hand, that prevents
an implementation (like ours) where fdatasync is a straight alias of
fsync. At any rate, glibc allows fdatasync on read-only fds.
* modules/fsync (Description): Document difference to fdatasync.
* modules/fdatasync: New module.
* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
* lib/fdatasync.c (fdatasync): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
defaults.
* modules/unistd (Makefile.am): Set witnesses.
* lib/unistd.in.h (fdatasync): Declare.
* MODULES.html.sh: Document it.
* doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
* modules/fdatasync-tests: New test.
* tests/test-fdatasync.c: Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
07809063
|
2011-08-17T14:13:35
|
|
getcwd: fix compilation on mingw64
Mingw 64 added <direct.h> as a place that declared getcwd. It is
a non-standard header, but since we already include it in the
replacement for <sys/stat.h>, we must also include it in the
replacement for <unistd.h> to avoid compilation problems.
* lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
getcwd.
Reported by Marc-André Lureau.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
844191ea
|
2011-07-07T03:34:18
|
|
sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
* lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
<winsock2.h>.
(rpl_fd_isset, FD_ISSET): New definitions, copied from
lib/sys_socket.in.h.
(close, gethostname): Hide declarations from <winsock2.h>.
(socket, connect, accept, bind, getpeername, getsockname, getsockopt,
listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
* lib/sys_socket.in.h (close, gethostname): Tweak indentation.
(select): Don't override if gnulib's <sys/select.h> was already
included.
* lib/unistd.in.h (socket, connect, accept, bind, getpeername,
getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
setsockopt, shutdown, select): Tweak indentation.
|
|
b6d3498b
|
2011-06-18T00:29:40
|
|
pread, pwrite: Avoid cc warning on AIX.
* lib/unistd.in.h (pread): Undefine before defining as a macro.
(pwrite): Likewise.
|
|
0ab583c0
|
2011-05-29T15:44:42
|
|
Allow multiple gnulib generated include files to be combined.
* gnulib-tool (func_compute_include_guard_prefix): New function.
(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
${gl_include_guard_prefix} references.
(func_import, func_create_testdir): Invoke
func_compute_include_guard_prefix.
* lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
* lib/ctype.in.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/errno.in.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/float.in.h: Likewise.
* lib/getopt.in.h: Likewise.
* lib/iconv.in.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/math.in.h: Likewise.
* lib/netdb.in.h: Likewise.
* lib/netinet_in.in.h: Likewise.
* lib/poll.in.h: Likewise.
* lib/pthread.in.h: Likewise.
* lib/pty.in.h: Likewise.
* lib/sched.in.h: Likewise.
* lib/se-selinux.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/stdarg.in.h: Likewise.
* lib/stddef.in.h: Likewise.
* lib/stdint.in.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_time.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_uio.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/sys_wait.in.h: Likewise.
* lib/sysexits.in.h: Likewise.
* lib/termios.in.h: Likewise.
* lib/time.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/wchar.in.h: Likewise.
* lib/wctype.in.h: Likewise.
* modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
* modules/ctype (Makefile.am): Likewise.
* modules/dirent (Makefile.am): Likewise.
* modules/errno (Makefile.am): Likewise.
* modules/fcntl-h (Makefile.am): Likewise.
* modules/float (Makefile.am): Likewise.
* modules/getopt-posix (Makefile.am): Likewise.
* modules/iconv-h (Makefile.am): Likewise.
* modules/langinfo (Makefile.am): Likewise.
* modules/locale (Makefile.am): Likewise.
* modules/math (Makefile.am): Likewise.
* modules/netdb (Makefile.am): Likewise.
* modules/netinet_in (Makefile.am): Likewise.
* modules/poll-h (Makefile.am): Likewise.
* modules/pthread (Makefile.am): Likewise.
* modules/pty (Makefile.am): Likewise.
* modules/sched (Makefile.am): Likewise.
* modules/search (Makefile.am): Likewise.
* modules/selinux-h (Makefile.am): Likewise.
* modules/signal (Makefile.am): Likewise.
* modules/spawn (Makefile.am): Likewise.
* modules/stdarg (Makefile.am): Likewise.
* modules/stddef (Makefile.am): Likewise.
* modules/stdint (Makefile.am): Likewise.
* modules/stdio (Makefile.am): Likewise.
* modules/stdlib (Makefile.am): Likewise.
* modules/string (Makefile.am): Likewise.
* modules/strings (Makefile.am): Likewise.
* modules/sys_file (Makefile.am): Likewise.
* modules/sys_ioctl (Makefile.am): Likewise.
* modules/sys_select (Makefile.am): Likewise.
* modules/sys_socket (Makefile.am): Likewise.
* modules/sys_stat (Makefile.am): Likewise.
* modules/sys_time (Makefile.am): Likewise.
* modules/sys_times (Makefile.am): Likewise.
* modules/sys_uio (Makefile.am): Likewise.
* modules/sys_utsname (Makefile.am): Likewise.
* modules/sys_wait (Makefile.am): Likewise.
* modules/sysexits (Makefile.am): Likewise.
* modules/termios (Makefile.am): Likewise.
* modules/time (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* modules/wchar (Makefile.am): Likewise.
* modules/wctype-h (Makefile.am): Likewise.
* modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
|
|
fae7fdcf
|
2011-05-12T02:03:07
|
|
group-member: Declare function in <unistd.h>.
* lib/unistd.in.h (group_member): New declaration.
* lib/group-member.h: Remove file.
* lib/group-member.c: Include <unistd.h> instead of group-member.h.
* tests/test-unistd-c++.cc: Check signature of group_member.
* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
* m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
HAVE_GROUP_MEMBER.
* modules/group-member (Files): Remove lib/group-member.h.
(Depends-on): Add unistd. Specify conditions.
(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
(Include): Change to <unistd.h>.
* modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
HAVE_GROUP_MEMBER.
* NEWS: Mention the change.
* lib/euidaccess.c: Don't include group-member.h.
|
|
acc203f3
|
2011-04-15T01:02:13
|
|
Support non-blocking pipe I/O in read() on native Windows.
* lib/unistd.in.h: Include <sys/types.h> also for 'read'.
(read): New declaration.
* lib/read.c: New file.
* lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
_GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
(fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
vscanf): New declarations.
* lib/stdio-read.c: New file.
* m4/read.m4: New file.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
REPLACE_READ.
* m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
(gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
* modules/read: New file.
* modules/nonblocking (Files): Add lib/stdio-read.c.
* modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
* modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
* modules/pread (Depends-on): Add read.
* modules/safe-read (Depends-on): Likewise.
* tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
gets, scanf, vfscanf, vscanf): Verify signatures.
* doc/posix-functions/read.texi: Mention 'nonblocking' module and
problem with non-blocking pipes.
* doc/posix-functions/fgetc.texi: Likewise.
* doc/posix-functions/fgets.texi: Likewise.
* doc/posix-functions/fread.texi: Likewise.
* doc/posix-functions/fscanf.texi: Likewise.
* doc/posix-functions/getc.texi: Likewise.
* doc/posix-functions/getchar.texi: Likewise.
* doc/posix-functions/gets.texi: Likewise.
* doc/posix-functions/scanf.texi: Likewise.
* doc/posix-functions/vfscanf.texi: Likewise.
* doc/posix-functions/vscanf.texi: Likewise.
|
|
836e0457
|
2011-04-13T12:15:43
|
|
Support non-blocking pipe I/O in write() on native Windows.
* lib/unistd.in.h (write): Enable replacement also if
GNULIB_UNISTD_H_NONBLOCKING is 1.
* lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
(rpl_write): When failing to write on a non-blocking pipe, change
errno from ENOSPC to EAGAIN.
* lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
putchar, puts, vfprintf, vprintf): Enable replacement also if
GNULIB_STDIO_H_NONBLOCKING is 1.
* lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
(CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
(CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
CALL_WITH_SIGPIPE_EMULATION.
(CALL_WITH_SIGPIPE_EMULATION): Use them.
* m4/nonblocking.m4: New file.
* m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
for non-blocking I/O support.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
GNULIB_UNISTD_H_NONBLOCKING.
* m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
required for non-blocking I/O support.
(gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
* modules/nonblocking (Files): Add m4/nonblocking.m4,
lib/stdio-write.c, m4/asm-underscore.m4.
(Depends-on): Add stdio, unistd.
(configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
* modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
* modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
* doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
problem with non-blocking pipes.
* doc/posix-functions/fputc.texi: Likewise.
* doc/posix-functions/fputs.texi: Likewise.
* doc/posix-functions/fwrite.texi: Likewise.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/putc.texi: Likewise.
* doc/posix-functions/putchar.texi: Likewise.
* doc/posix-functions/puts.texi: Likewise.
* doc/posix-functions/vfprintf.texi: Likewise.
* doc/posix-functions/vprintf.texi: Likewise.
* doc/posix-functions/write.texi: Likewise.
|
|
438ac9a2
|
2010-11-14T17:48:50
|
|
Allow multiple gnulib generated replacements to coexist.
* lib/getopt.in.h (struct option): Avoid identical redefinition.
* lib/inttypes.in.h (imaxdiv_t): Likewise.
* lib/langinfo.in.h (nl_item): Likewise.
* lib/math.in.h (_NaN, NAN): Likewise.
* lib/netdb.in.h (struct addrinfo): Likewise.
* lib/poll.in.h (struct pollfd, nfds_t): Likewise.
* lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
pthread_mutexattr_init, pthread_mutexattr_settype,
pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
pthread_spin_trylock, pthread_spin_unlock): Likewise.
* lib/sched.in.h (struct sched_param): Likewise.
* lib/se-selinux.in.h (security_class_t, security_context_t,
is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
lsetfilecon, fsetfilecon, security_check_context,
security_check_context_raw, setexeccon, matchpathcon_init_prefix):
Likewise.
* lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
Likewise.
* lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
_gl_function_taking_int_returning_void_t, union sigval,
struct siginfo_t, siginfo_t, struct sigaction): Likewise.
* lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
* lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
* lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
* lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
socklen_t, rpl_fd_isset): Likewise.
* lib/sys_stat.in.h (rpl_mkdir): Likewise.
* lib/sys_time.in.h (struct timeval): Likewise.
* lib/sys_times.in.h (struct tms): Likewise.
* lib/sys_utsname.in.h (struct utsname):
* lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
* lib/unistd.in.h (getpagesize): Likewise.
* lib/wchar.in.h (mbstate_t): Likewise.
* lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
towlower, towupper): Likewise.
Reported by Sam Steingold <sds@gnu.org>.
|
|
d60f3b0c
|
2011-01-01T20:17:23
|
|
maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
|
|
bce5ad8b
|
2010-12-24T16:39:10
|
|
gethostname: Ensure declaration on NonStop Kernel.
* lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
|
|
e53e23a0
|
2010-12-22T19:25:34
|
|
getlogin_r: Work around portability problem on OSF/1.
* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
* lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
* lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
test for a truncated result.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
* modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
* modules/getlogin_r (Depends-on): Add memchr.
* doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
|
|
5ceff074
|
2010-12-20T13:10:22
|
|
ttyname_r: Add missing declaration on HP-UX 11.
* lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
HAVE_TTYNAME_R.
* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
declared. Set HAVE_TTYNAME_R always.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
* modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
HAVE_TTYNAME_R.
* doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
|
|
224a9074
|
2010-12-19T22:41:16
|
|
Document some different function declarations on OSF/1 5.1.
* doc/posix-functions/gai_strerror.texi: Mention different declaration.
* doc/posix-functions/inet_ntop.texi: Likewise.
* doc/posix-functions/gethostname.texi: Likewise.
* lib/unistd.in.h (gethostname): Update comment.
|
|
2fac6f35
|
2010-12-19T14:33:14
|
|
fchdir: Add missing declaration on OSF/1 5.1.
* lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
* modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
* doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
|
|
c0ae697f
|
2010-12-11T03:19:56
|
|
Oops, fix mistake in last commit.
|
|
1594aaea
|
2010-12-11T03:03:05
|
|
pipe-posix: Make it work in C++ mode.
* lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
(pipe): Use common idiom, not a macro definition.
* lib/pipe.c: New file.
* m4/pipe.m4: New file.
* modules/pipe-posix (Description): Enhance.
(Files): Add lib/pipe.c, m4/pipe.m4.
(configure.ac): Invoke gl_FUNC_PIPE.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
* modules/unistd (Makefile.am): Substitute HAVE_PIPE.
* tests/test-unistd-c++.cc: Check the signature of pipe.
|
|
e2f1471b
|
2010-12-10T15:18:38
|
|
pipe-posix: new module
* modules/pipe-posix: New file.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
(gl_UNISTD_H): Check for declaration.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (pipe): Provide it for mingw.
* doc/posix-functions/pipe.texi (pipe): Update documentation.
* MODULES.html.sh (File descriptor based Input/Output): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
b4417f75
|
2010-11-30T21:27:21
|
|
getdomainname: Use the system function when possible.
* lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
(getdomainname): Replace if needed. Provide the declaration if it is
missing. Don't use _GL_CXXALIAS_SYS_CAST.
* lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
(getdomainname): When the system has getdomainname, call the system
function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
found in libnsl. Look for the declaration also in <netdb.h>. Replace
the function if its second argument is of type 'int' or if it is found
in libnsl.
(gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
<sys/systeminfo.h> and sysinfo().
* modules/getdomainname (Depends-on): Add netdb, sys_socket.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
HAVE_GETDOMAINNAME.
* modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
* doc/glibc-functions/getdomainname.texi: Document the problems with
the getdomainname declaration.
|
|
823b17cb
|
2010-10-27T02:59:47
|
|
unistd: Refine workaround from 2009-12-23 against Cygwin bug.
* lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
Cygwin and mingw.
Suggested by Eric Blake.
|
|
968e74c2
|
2010-10-04T23:35:51
|
|
Avoid line length limitation from HP NonStop system header files.
* m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
* lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
* lib/ctype.in.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/errno.in.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/float.in.h: Likewise.
* lib/getopt.in.h: Likewise.
* lib/iconv.in.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/math.in.h: Likewise.
* lib/netdb.in.h: Likewise.
* lib/netinet_in.in.h: Likewise.
* lib/poll.in.h: Likewise.
* lib/pthread.in.h: Likewise.
* lib/pty.in.h: Likewise.
* lib/sched.in.h: Likewise.
* lib/se-selinux.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/stdarg.in.h: Likewise.
* lib/stddef.in.h: Likewise.
* lib/stdint.in.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_time.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/sys_wait.in.h: Likewise.
* lib/sysexits.in.h: Likewise.
* lib/termios.in.h: Likewise.
* lib/time.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/wchar.in.h: Likewise.
* lib/wctype.in.h: Likewise.
* modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
* modules/ctype (Makefile.am): Likewise.
* modules/dirent (Makefile.am): Likewise.
* modules/errno (Makefile.am): Likewise.
* modules/fcntl-h (Makefile.am): Likewise.
* modules/float (Makefile.am): Likewise.
* modules/getopt-posix (Makefile.am): Likewise.
* modules/iconv-h (Makefile.am): Likewise.
* modules/inttypes (Makefile.am): Likewise.
* modules/langinfo (Makefile.am): Likewise.
* modules/locale (Makefile.am): Likewise.
* modules/math (Makefile.am): Likewise.
* modules/netdb (Makefile.am): Likewise.
* modules/netinet_in (Makefile.am): Likewise.
* modules/poll-h (Makefile.am): Likewise.
* modules/pthread (Makefile.am): Likewise.
* modules/pty (Makefile.am): Likewise.
* modules/sched (Makefile.am): Likewise.
* modules/search (Makefile.am): Likewise.
* modules/selinux-h (Makefile.am): Likewise.
* modules/signal (Makefile.am): Likewise.
* modules/spawn (Makefile.am): Likewise.
* modules/stdarg (Makefile.am): Likewise.
* modules/stddef (Makefile.am): Likewise.
* modules/stdint (Makefile.am): Likewise.
* modules/stdio (Makefile.am): Likewise.
* modules/stdlib (Makefile.am): Likewise.
* modules/string (Makefile.am): Likewise.
* modules/strings (Makefile.am): Likewise.
* modules/sys_file (Makefile.am): Likewise.
* modules/sys_ioctl (Makefile.am): Likewise.
* modules/sys_select (Makefile.am): Likewise.
* modules/sys_socket (Makefile.am): Likewise.
* modules/sys_stat (Makefile.am): Likewise.
* modules/sys_time (Makefile.am): Likewise.
* modules/sys_times (Makefile.am): Likewise.
* modules/sys_utsname (Makefile.am): Likewise.
* modules/sys_wait (Makefile.am): Likewise.
* modules/sysexits (Makefile.am): Likewise.
* modules/termios (Makefile.am): Likewise.
* modules/time (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* modules/wchar (Makefile.am): Likewise.
* modules/wctype (Makefile.am): Likewise.
|
|
be5bb85c
|
2010-08-09T11:16:07
|
|
readlinkat: split into its own module
* modules/symlinkat: Split readlinkat...
* modules/readlinkat: ...into separate module.
* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
* m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
* lib/symlinkat.c (readlinkat): Move...
* lib/readlinkat.c: ...into new file.
* modules/symlinkat-tests: Split readlinkat test...
* modules/readlinkat-tests: ...into separate module.
* tests/test-symlinkat.c: Split...
* tests/test-readlinkat.c: ...into new file.
* NEWS: Document the split.
* doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
* lib/unistd.in.h (readlinkat): Likewise.
Suggested by Bruno Haible.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
b111537c
|
2010-05-05T21:09:38
|
|
New module pwrite.
|
|
a731808a
|
2010-04-25T20:57:52
|
|
ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
|
|
3c65a680
|
2010-04-10T21:11:00
|
|
write: Fix a C++ test error on mingw.
|
|
c51b01fd
|
2010-04-03T15:59:25
|
|
fchdir: Fix regression introduced on 2010-03-08.
|
|
e25c6d9c
|
2010-04-03T15:43:45
|
|
getpagesize: Fix C++ test error on mingw.
|
|
cba80c66
|
2010-04-03T12:30:09
|
|
unistd: Fix C++ test error on mingw.
|
|
cd265999
|
2010-03-28T14:26:15
|
|
unistd: Avoid #define replacements in C++ mode.
|
|
40aa4775
|
2010-03-25T16:28:02
|
|
maint: use pragma consistently across replacement headers
Several headers set #pragma GCC system_header prior to checking
any multiple inclusion guards; maintenance is easiest if all
replacement headers follow the same paradigm.
* lib/ctype.in.h (system_header): Hoist for consistent placement.
* lib/dirent.in.h (system_header): Likewise.
* lib/errno.in.h (system_header): Likewise.
* lib/float.in.h (system_header): Likewise.
* lib/getopt.in.h (system_header): Likewise.
* lib/iconv.in.h (system_header): Likewise.
* lib/inttypes.in.h (system_header): Likewise.
* lib/langinfo.in.h (system_header): Likewise.
* lib/locale.in.h (system_header): Likewise.
* lib/math.in.h (system_header): Likewise.
* lib/netdb.in.h (system_header): Likewise.
* lib/netinet_in.in.h (system_header): Likewise.
* lib/pty.in.h (system_header): Likewise.
* lib/sched.in.h (system_header): Likewise.
* lib/se-selinux.in.h (system_header): Likewise.
* lib/search.in.h (system_header): Likewise.
* lib/spawn.in.h (system_header): Likewise.
* lib/stdarg.in.h (system_header): Likewise.
* lib/stdint.in.h (system_header): Likewise.
* lib/string.in.h (system_header): Likewise.
* lib/strings.in.h (system_header): Likewise.
* lib/sys_file.in.h (system_header): Likewise.
* lib/sys_ioctl.in.h (system_header): Likewise.
* lib/sys_socket.in.h (system_header): Likewise.
* lib/sys_times.in.h (system_header): Likewise.
* lib/sys_utsname.in.h (system_header): Likewise.
* lib/sys_wait.in.h (system_header): Likewise.
* lib/sysexits.in.h (system_header): Likewise.
* lib/unistd.in.h (system_header): Likewise.
* lib/wctype.in.h (system_header): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
7bacd338
|
2010-03-22T14:01:55
|
|
gethostname: further tweaks
* lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
are overriding gethostname.
Suggested by Bruno Haible.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
33909664
|
2010-03-19T16:57:28
|
|
gethostname: fix build on mingw
Since commit 4e86671a, gethostname failed to compile on mingw.
Gnulib's sys/socket.h includes winsock2.h, which then includes
unistd.h prior to declaring gethostname. The fix is to ensure
that our replacement unistd.h does not declare any replacements
until we are sure that winsock2.h is completely included.
* lib/unistd.in.h (includes): Work around fact that mingw
<winsock2.h> re-includes <unistd.h>, by avoiding any
redeclarations if we are being included by <winsock2.h>.
Reported by Matthias Bolte.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
116440ae
|
2010-03-21T14:38:25
|
|
New module 'ttyname_r'.
|
|
cf5e3a18
|
2010-03-19T23:22:28
|
|
getusershell: Provide declaration, missing on Solaris 9.
|
|
d2a61622
|
2010-03-08T01:47:37
|
|
unistd: Avoid #define replacements in C++ mode.
|
|
89e5b6ba
|
2010-03-06T19:49:34
|
|
Clarify access, euidaccess, faccessat.
|
|
cbd5934b
|
2009-12-16T16:20:28
|
|
warn-on-use: use instead of link-warning
Each *.in.h file serves two purposes - provide enough self-contained
content to serve as a replacement for the system header regardless of
the user's compiler, and offer the developer the ability to detect any
gnulib modules that might have been inadvertantly excluded. The
former requires independence from config.h, and routes everything
through a Makefile.am snippet that uses @@ substitution specific to
the modules that were in use, with details learned at configure time.
The latter works by poisoning anything that gnulib did not replace,
but which the developer had natively available, explaining why their
tests passed during development. Poisoning relies on gcc features,
and requires manual triggering by adding -DGNULIB_POSIXCHECK to
CFLAGS; it assumes that <config.h> is properly included. In fact, we
do not want to use @@ substitution for HAVE_DECL_* during poisoning,
because the warning is only relevant for the gnulib modules which were
not included, and thus where the m4 macros to set proper @@ values
have not been run. Furthermore, we only need to poison interfaces
that already have a declaration; if something is not declared, then
the developer wouldn't have been able to link, so their code won't be
using the problematic interface in the first place.
* modules/stdio (Depends-on, Makefile.am): Drop link-warning.
* modules/unistd (Depends-on, Makefile.am): Likewise.
* modules/arpa_inet (Depends-on): Replace link-warning with
warn-on-use.
(Makefile.am): Update rules accordingly.
* modules/ctype (Depends-on, Makefile.am): Likewise.
* modules/dirent (Depends-on, Makefile.am): Likewise.
* modules/fcntl-h (Depends-on, Makefile.am): Likewise.
* modules/inttypes (Depends-on, Makefile.am): Likewise.
* modules/langinfo (Depends-on, Makefile.am): Likewise.
* modules/locale (Depends-on, Makefile.am): Likewise.
* modules/math (Depends-on, Makefile.am): Likewise.
* modules/search (Depends-on, Makefile.am): Likewise.
* modules/signal (Depends-on, Makefile.am): Likewise.
* modules/spawn (Depends-on, Makefile.am): Likewise.
* modules/stdlib (Depends-on, Makefile.am): Likewise.
* modules/string (Depends-on, Makefile.am): Likewise.
* modules/strings (Depends-on, Makefile.am): Likewise.
* modules/sys_file (Depends-on, Makefile.am): Likewise.
* modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
* modules/sys_select (Depends-on, Makefile.am): Likewise.
* modules/sys_socket (Depends-on, Makefile.am): Likewise.
* modules/sys_stat (Depends-on, Makefile.am): Likewise.
* modules/sys_times (Depends-on, Makefile.am): Likewise.
* modules/sys_utsname (Depends-on, Makefile.am): Likewise.
* modules/wchar (Depends-on, Makefile.am): Likewise.
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
should be poisoned.
* m4/ctype.m4 (gl_CTYPE_H): Likewise.
* m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
* m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
* m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
* m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
* m4/locale_h.m4 (gl_LOCALE_H): Likewise.
* m4/math_h.m4 (gl_MATH_H): Likewise.
* m4/search_h.m4 (gl_SEARCH_H): Likewise.
* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
* m4/stdio_h.m4 (gl_STDIO_H): Likewise.
* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
* m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
* m4/wchar.m4 (gl_WCHAR_H): Likewise.
* lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
GL_LINK_WARNING.
* lib/ctype.in.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/math.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/wchar.in.h: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
718991da
|
2009-12-31T13:28:59
|
|
unistd: warn on use of environ without module
_GL_WARN_ON_USE only works for functions; so we wrap access to
environ through a function when CFLAGS has -DGNULIB_POSIXCHECK=1.
* modules/unistd (Depends-on): Add warn-on-use.
(Makefile.am): Provide new substitutions.
* m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
* lib/unistd.in.h (environ): Wrap with a warning helper function.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
90773484
|
2010-01-09T16:17:50
|
|
New module 'getlogin'.
|
|
3361cfa6
|
2010-01-09T14:16:57
|
|
getlogin_r: Add comment.
|
|
60ad192b
|
2010-01-06T07:09:03
|
|
stdio, unistd: guarantee ssize_t
Per POSIX 2008, ssize_t needs to exist whether or not we are
replacing functions that use it. For now, we only guarantee
it if we know that the user expects a function that uses
that type, while waiting for glibc to catch up to POSIX.
* lib/unistd.in.h (includes): Ensure that types required by POSIX
2008 are exposed when needed.
* lib/stdio.in.h (includes): Likewise.
Reported by Ralf Wildenhues.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
b2e2010c
|
2010-01-01T10:31:12
|
|
update nearly all FSF copyright year lists to include 2010
Use the same procedure as for 2009, outlined in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
|
|
c47e75a9
|
2009-12-30T16:14:05
|
|
unistd: fix typo
This typo ended up incompatibly re-defining the macro link()
during -DGNULIB_POSIXCHECK=1. However, gcc's pragma system_header
squelches that particular warning, so this typo went unnoticed.
* lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
d19dfc69
|
2009-12-24T16:59:36
|
|
Reduce namespace pollution on glibc systems.
|
|
d3e8c326
|
2009-12-24T06:01:43
|
|
build: pull in conditional headers during GNULIB_POSIXCHECK
Any time we conditionally include a header in order to satisfy
prerequisites of one module, we must also include that header
under GNULIB_POSIXCHECK to avoid compilation errors if that
module is not in use. If this is not done, then our link warning
override can occur before the system's declaration, which
causes a syntax error when the system header is finally included.
* lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
definitions from any conditionally-included headers.
* lib/stdlib.in.h (includes): Likewise.
* lib/unistd.in.h (includes): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
86c22b43
|
2009-12-23T18:42:59
|
|
unistd: work around cygwin bug
Cygwin 1.7.1 placed symlinkat and unlinkat in the wrong headers
(due to a bug in the Linux man pages).
* lib/unistd.in.h (includes): Pick up headers needed for cygwin.
* doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
* doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
44f52a54
|
2009-12-23T10:59:14
|
|
unistd: Ensure getcwd gets declared before being overridden.
|
|
adbded99
|
2009-12-21T11:32:58
|
|
math, unistd: avoid redundant includes
* lib/math.in.h (isnan): No need to re-include <math.h>.
* lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
69482508
|
2009-12-11T01:15:28
|
|
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
|
|
441aa304
|
2009-12-10T20:28:30
|
|
Use spaces for indentation, not tabs.
|
|
8def010e
|
2009-11-25T17:06:25
|
|
unistd.in.h: correct declaration of pread
* lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
Reported by Richard W.M. Jones.
|
|
f84e1a91
|
2009-11-25T14:33:30
|
|
pread: new module
* modules/pread: New file.
* lib/pread.c (pread): New file.
* m4/pread.m4: Likewise.
* lib/unistd.in.h (pread): Define/declare.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
* modules/unistd (Makefile.am): Substitute witnesses.
* doc/posix-functions/pread.texi (pread): Update.
* MODULES.html.sh: Add pread.
|
|
6baa4663
|
2009-11-18T20:07:44
|
|
sleep: work around cygwin bug
On cygwin 1.5.x, sleep amounts larger than 49.7 days (2**32
milliseconds) failed instantly, but with a garbage return
value from uninitialized memory.
* lib/sleep.c (rpl_sleep): Work around the bug.
* m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
(gl_PREREQ_SLEEP): Delete unused macro.
* modules/sleep (Depends-on): Add verify.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
* modules/unistd (Makefile.am): Substitute witness.
* lib/unistd.in.h (sleep): Update prototype.
* doc/posix-functions/sleep.texi (sleep): Document the bug.
* tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
* modules/sleep-tests (Depends-on): Check for alarm.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
e8eecfd3
|
2009-11-17T09:24:56
|
|
usleep: new module
mingw usleep(1000000) failed with EINVAL, as allowed by POSIX,
but contrary to GNU usage. Rather than implement an accurate
usleep based on select or nanosleep, both of which drag in
dependencies on external libraries, this version intentionally
takes the ceiling in seconds if usleep() is missing.
* modules/usleep: New file.
* m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
* lib/usleep.c (usleep): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
* modules/unistd (Makefile.am): Substitute witnesses.
* lib/unistd.in.h (usleep): Add declaration.
* doc/pastposix-functions/usleep.texi (usleep): Document this.
* MODULES.html.sh (Date and time): Likewise.
* modules/usleep-tests (Depends-on): New test.
* tests/test-usleep.c: New file.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
6bd10238
|
2009-11-12T21:45:20
|
|
lchown: detect Solaris and FreeBSD bug
Solaris 9 and FreeBSD 7.2 lchown("link-to-file/",uid,gid)
mistakenly changes ownership of "file".
* lib/lchown.c (rpl_lchown): Work around bug.
* m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
* modules/unistd (Makefile.am): Populate it.
* lib/unistd.in.h (lchown): Update declaration.
* doc/posix-functions/lchown.texi (lchown): Document the bug.
* modules/lchown-tests: New file.
* tests/test-lchown.h (test_lchown): Likewise.
* tests/test-lchown.c (main): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
9cd8acba
|
2009-11-12T21:45:20
|
|
chown: detect Solaris and FreeBSD bug
Solaris 9 and FreeBSD 7.2 chown("link-to-file/",uid,gid)
mistakenly changes ownership of "file".
* lib/chown.c (rpl_chown): Work around bug.
* m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
(gl_PREREQ_CHOWN): Delete.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
* modules/unistd (Makefile.am): Populate it.
* lib/unistd.in.h (chown): Update declaration.
* lib/lchown.c (chown): Update client.
* modules/lchown (Depends-on): Add lstat.
* doc/posix-functions/chown.texi (chown): Document the bug.
* doc/posix-functions/getgroups.texi (getgroups): Document
getgroups pitfall.
* modules/chown-tests: New file.
* tests/test-chown.h (test_chown): Likewise.
* tests/test-chown.c (main): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
6e4b15b5
|
2009-11-12T10:19:39
|
|
getgroups: don't expose GETGROUPS_T to user
These days, most systems already declare getgroups with gid_t*.
But in the rare case that GETGROUPS_T is still int but gid_t
is short, the user should not have to uglify their code; let
the replacement hide all the magic.
Tested by configuring with ac_cv_type_getgroups=uint64_t on a
platform with 32-bit gid_t, and ignoring compiler warnings.
However, since we don't replace setgroups, the GETGROUPS_T
workaround is still needed there for now.
* lib/getgroups.c (rpl_getgroups): Change signature. Copy array
an element at a time if GETGROUPS_T is wrong size.
* lib/getugroups.h (getugroups): Change signature.
* lib/unistd.in.h (getgroups): Likewise.
* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
signature needs fixing.
* m4/getugroups.m4 (gl_GETUGROUPS): No longer need
AC_TYPE_GETGROUPS.
* modules/group-member (Depends-on): Add getgroups.
* lib/group-member.c (group_info, get_group_info): Use gid_t.
(group_member): Rely on getgroups replacement.
* lib/getugroups.c (getugroups): Use gid_t.
* tests/test-getgroups.c (main): Likewise.
* NEWS: Mention the signature change.
* doc/posix-functions/getgroups.texi (getgroups): Mention the
problem with signature.
* doc/glibc-functions/setgroups.texi (setgroups): Mention that
GETGROUPS_T is still useful for setgroups.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
61b3a422
|
2009-11-12T09:53:14
|
|
getgroups, getugroups: provide stubs for mingw
Avoid link failure on mingw, which lacks getgroups and anything
else related to gid_t management (stat.st_gid is always 0).
* lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
* lib/getugroups.c (getugroups): Likewise.
* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
function. Modernize replacement scheme.
(gl_PREREQ_GETGROUPS): Delete.
* m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
* modules/getgroups (configure.ac): Declare witness.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
* modules/unistd (Depends-on): Substitute witness.
* lib/unistd.in.h (getgroups): Declare replacement.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
d984c0bc
|
2009-10-08T18:25:39
|
|
unistd: fix comment typo
* lib/unistd.in.h (euidaccess): Fix a comment typo.
|
|
09e22b5a
|
2009-10-06T20:44:13
|
|
getopt: fix compilation on darwin
* lib/getopt.in.h (includes): Leave breadcrumbs during system
include.
* lib/unistd.in.h (getopt): Use them to avoid recursive include.
Reported by Ludovic Courtès.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
cdba659e
|
2009-10-05T21:30:33
|
|
linkat: support Linux 2.6.17
* m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
linkat on Linux, but allow cache variable override.
* lib/linkat.c (rpl_linkat): Define override.
* modules/linkat (Depends-on): Add symlinkat.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (linkat): Declare replacement.
Reported by Pádraig Brady.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
c4194dcc
|
2009-09-08T20:47:40
|
|
linkat: new module
* modules/linkat: New file.
* lib/at-func2.c (at_func2): Likewise.
* lib/linkat.c (linkat): Likewise.
* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
* lib/openat-priv.h (at_func2): Add declaration.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
* modules/unistd (Makefile.am): Substitute them.
* lib/unistd.in.h (linkat): Declare it.
* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
* doc/posix-functions/linkat.texi (linkat): Likewise.
* doc/posix-functions/link.texi (link): Tweak wording.
* tests/test-link.c (main): Move guts...
* tests/test-link.h (test_link): ...into new file.
* modules/linkat-tests: New test.
* tests/test-linkat.c: Likewise.
* modules/link-tests (Files): Ship new file.
(Depends-on): Add stdbool.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
5b192b39
|
2009-09-22T17:14:23
|
|
readlink: fix cygwin 1.5.x bug with return type
On older systems, readlink returned int instead of ssize_t, making
the use of readlink via function pointer harder.
* m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
* lib/unistd.in.h (readlink): Use ssize_t.
* lib/readlink.c (readlink): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (readlink): Declare replacement.
* doc/posix-functions/readlink.texi (readlink): Document this.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
d9d5054c
|
2009-09-19T21:20:42
|
|
symlink: new module, for Solaris 9 bug
symlink("a","link/") mistakenly succeeds.
* modules/symlink: New file.
* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
* lib/symlink.c: Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
* modules/unistd (Makefile.am): Substitute them.
* lib/unistd.in.h (symlink): Declare replacement.
* MODULES.html.sh (File system functions): Mention it.
* doc/posix-functions/symlink.texi (symlink): Likewise.
* modules/symlink-tests: New test.
* tests/test-symlink.c: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
d34f1e73
|
2009-09-19T20:37:50
|
|
unistd: sort replacement declarations
* lib/unistd.in.h: Sort declarations.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
22d7496b
|
2009-09-18T19:39:06
|
|
openat: fix unlinkat bugs on Solaris 9
unlinkat(fd,"file/",0) mistakenly succeeded.
* lib/unlinkat.c (unlinkat): New file.
* modules/openat (Depends-on): Add unlink.
(Files): Distribute it.
* m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
trailing slash behavior is broken.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (unlinkat): Declare replacement.
* doc/posix-functions/unlinkat.texi (unlinkat): Document this.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
4a60ba54
|
2009-09-16T17:13:20
|
|
unlink: new module, for Solaris 9 bug
unlink("file/") mistakenly succeeded. This patch favors, but
does not enforce, GNU semantics that unlink("link-to-dir/")
flat-out fails rather than attempting to unlink "dir".
* modules/unlink: New file.
* lib/unlink.c: Likewise.
* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
* modules/unistd (Makefile.am): Use them.
* lib/unistd.in.h (stat): Declare replacement.
* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
* doc/posix-functions/unlink.texi (unlink): Likewise.
* modules/unlink-tests: New test.
* tests/test-unlink.c: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
b433e645
|
2009-09-16T10:08:55
|
|
rmdir: work around cygwin 1.5.x and mingw bugs
* m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
* lib/rmdir.c (rmdir): Work around it.
* modules/rmdir (Status, Notice): No longer obsolete.
(Files): Add dos.m4.
(Depends-on): Add unistd.
(configure.ac): Set witnesses.
(License): Relax to LGPLv2+.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
* modules/unistd (Makefile.am): Substitute witnesses.
* lib/unistd.in.h (rmdir): Declare replacement.
* doc/posix-functions/rmdir.texi (rmdir): Document this.
* modules/rmdir-tests: New tests.
* tests/test-rmdir.c: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
c9dd0005
|
2009-09-15T15:54:43
|
|
fchdir: improve use of replacement functions
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
REPLACE_CLOSEDIR.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
* modules/sys_stat (Makefile.am): Substitute correct witness.
* modules/dirent (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* lib/dirent.in.h (opendir, closedir): Use better witnesses.
* lib/unistd.in.h (dup): Likewise.
* lib/sys_stat.in.h (fstat): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
2d9360ff
|
2009-09-09T15:25:26
|
|
link: fix platform bugs
* m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
* lib/link.c (link): Work around them. Fix related mingw bug.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (link): Declare replacement.
* doc/posix-functions/link.texi (link): Document this.
* modules/link (Depends-on): Add strdup-posix, sys_stat.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
370fec14
|
2009-09-07T05:28:13
|
|
openat: provide more convenience names
* modules/faccessat (configure.ac): Add C witness.
* lib/unistd.in.h (readlinkat): Fix typo.
* lib/openat.h (statat, lstatat, accessat, euidaccessat): New
convenience wrappers.
* top/maint.mk (sc_prohibit_openat_without_use): Allow these
wrappers in syntax checks.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
aa686284
|
2009-09-06T20:53:59
|
|
faccessat, symlinkat: continue cleanup of previous patch
* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
* modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
* modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
* lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
set.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
1e2ae3ac
|
2009-09-07T01:33:12
|
|
Remove dependency from unistd_h.m4, sys_stat_h.m4, fcntl_h.m4 to openat.m4.
|
|
ac181274
|
2009-09-05T11:49:15
|
|
symlinkat: new module
* modules/symlinkat: New file.
* lib/symlinkat.c: Likewise.
* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
* modules/unistd (Makefile.am): Use them.
* lib/unistd.in.h (symlinkat, readlinkat): Declare them.
(faccessat) [GNULIB_POSIXCHECK]: Fix typo.
* lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
* MODULES.html.sh (File system functions): Mention module.
* doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
* doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
* modules/symlinkat-tests: New test.
* tests/test-symlinkat.c: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
973333dc
|
2009-09-03T13:41:18
|
|
faccessat: new module
* modules/faccessat: New file.
* lib/faccessat.m4: Likewise.
* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
* modules/unistd (Makefile.am): Use it.
* lib/unistd.in.h (faccessat): Declare it.
(F_OK, X_OK, W_OK, R_OK): Provide definitions.
* lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
* MODULES.html.sh (File system functions): Mention it.
* doc/posix-functions/faccessat.texi (faccessat): Likewise.
* doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
52c658e9
|
2009-09-02T17:14:26
|
|
openat: declare in POSIX headers
* NEWS: Mention this.
* modules/openat (configure.ac): Declare witnesses.
(Depends-on): Add fcntl-h, sys_stat, unistd.
(Include): Mention correct headers.
* modules/fcntl-h (Depends-on): Add link-warning.
(Files): Add openat.m4.
(Makefile.am): Substitute witnesses.
* modules/sys_stat (Files, Makefile.am): Likewise.
* modules/unistd (Files, Makefile.am): Likewise.
* m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
(gl_OPENAT_DEFAULTS): New macro.
* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
(SYS_STAT_H): Remove unused variable.
* doc/posix-headers/fcntl.texi (fcntl.h): Update content.
* lib/fcntl--.h (includes): Remove unneeded header.
* lib/openat-safer.c (includes): Likewise.
* lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
(openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
appropriate headers.
(__OPENAT_PREFIX): Delete.
* lib/fcntl.in.h (openat): Provide declaration.
(AT_FDCWD): Fix Solaris bug.
(AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
* lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
* lib/fchmodat.c (includes): Adjust to find declaration.
* lib/fchownat.c (includes): Likewise.
* lib/mkdirat.c (includes): Likewise.
* lib/fstatat.c (includes): Likewise. Ensure original fstatat is
still visible.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
eeb36a48
|
2009-09-01T10:05:44
|
|
fdopendir: optimize on mingw
* lib/unistd.in.h (_gl_directory_name): New prototype.
* lib/fchdir.c (_gl_directory_name): Implement it.
(fchdir): Use it to simplify implementation.
* lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
fchdir, when available, to avoid calling [f]chdir().
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
dd66a62c
|
2009-09-01T09:18:16
|
|
fchdir: use more consistent macro convention
* lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
* lib/sys_stat.in.h (rpl_fstat): Declare via make-time
REPLACE_FCHDIR, rather than relying on config.h macros.
* lib/unistd.in.h (fchdir): Move all fchdir internal declarations
inside a single make-time REPLACE_FCHDIR block, rather than using
the config.h FCHDIR_REPLACEMENT.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
AC_SUBST'd, also AC_DEFINE it. Don't define FCHDIR_REPLACEMENT.
Manage fstat replacement.
* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
REPLACE_FCHDIR.
* modules/sys_stat (Files): Add m4/unistd_h.m4.
(Makefile.am): Substitute REPLACE_FCHDIR.
* lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
FCHDIR_REPLACEMENT.
* lib/dup-safer.c (dup_safer): Likewise.
* lib/dup2.c (rpl_dup2): Likewise.
* lib/dup3.c (rpl_dup3): Likewise.
* lib/open.c (rpl_open): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
4475e25b
|
2009-08-31T14:20:03
|
|
fchdir: simplify error handling, and support dup3
* modules/fchdir (Depends-on): Use strdup-posix, not strdup. Add
stdbool, malloc-posix, realloc-posix.
* lib/fchdir.c (struct dir_info_t): Delete saved_errno.
(ensure_dirs_slot): Return false on allocation failure.
(rpl_dup2): Delete.
(_gl_register_dup): New function.
(_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
(_gl_register_fd): Close fd on allocation failure.
* lib/fcntl.in.h (_gl_register_fd): Update signature.
* lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
prototype.
(rpl_dup2_fchdir): Delete prototype.
* lib/open.c (open): Update caller.
* lib/dup2.c (dup2): Track fchdir metadata.
* lib/dup3.c (dup3): Likewise.
* m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
49e5954e
|
2009-08-24T00:56:31
|
|
Tolerate declared but missing dup3 syscall.
|
|
b23a8463
|
2009-08-24T00:42:22
|
|
Tolerate declared but missing pipe2 syscall.
|
|
c2462636
|
2009-08-24T00:17:47
|
|
New module 'dup3'.
|
|
a7b40bdb
|
2009-08-23T21:55:26
|
|
Fix getdtablesize() on mingw.
|