lib


Log

Author Commit Date CI Message
Bruno Haible fa6f0000 2011-05-05T19:03:57 signal: Define sighandler_t. * lib/signal.in.h (sighandler_t): New type. * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test whether sighandler_t is defined. (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T. * modules/signal (Depends-on): Add extensions. (Makefile.am): Substitute HAVE_SIGHANDLER_T. * doc/posix-headers/signal.texi: Mention the problem with sighandler_t. Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
Eric Blake bcbcf0c5 2011-05-02T15:00:50 fflush: also replace fclose when fixing fflush This fixes the fclose failures detected in the previous patch, but only when the GPL fflush module is also in use. That is because the need for behavior of resetting seekable input streams is much less common, and the fix more complex. The LGPLv2+ test for fclose() in isolation is relaxed to pass if fflush is not being replaced to cater to input streams. * modules/fflush (Depends-on): Add fclose. * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose. * lib/fclose.c (rpl_fclose): Don't cause spurious failures on memstreams with no backing fd. * doc/posix-functions/fclose.texi (fclose): Document the use of fflush module to fix the bug. * tests/test-fclose.c (main): Relax test when fclose is used in isolation. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 001e7d63 2011-05-02T11:41:12 fclose: reduce dependencies In an LGPLv2+ project, the last change to fclose dragged in inappropriate modules. * modules/fclose (Depends-on): Switch from fflush/fseeko to simpler lseek. * lib/fclose.c (rpl_fclose): Likewise. Reported by Simon Josefsson. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 380f4f7a 2011-05-01T11:58:53 Revert "netdb: Fix invalid C syntax." commit from 2011-04-30.
Eric Blake 096d7e1c 2011-04-30T15:40:00 fclose: don't fail on non-seekable input stream On mingw, for a project that uses both sockets and streams, then fclose(stdin) when getting input from a terminal or pipe was spuriously failing. * modules/fclose (Depends-on): Add freading, fflush, fseeko. * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input, since fflush is allowed to fail in that case. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible a7982f61 2011-04-30T17:22:37 dup3: cleanup * lib/dup3.c: Remove old code, leftover from 2009-12-16.
Bruno Haible 0576d587 2011-04-30T15:00:45 netdb: Make it work in C++ mode. * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct. (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs module. * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR_FOR_TESTS. * modules/netdb-tests (Depends-on): Add netdb-c++-tests. * modules/netdb-c++-tests: New file. * tests/test-netdb-c++.cc: New file.
Bruno Haible 89d10938 2011-04-30T14:05:52 passfd: Add comments. * lib/passfd.c: Add comments about platforms.
Bruno Haible 241bef98 2011-04-30T13:54:47 sys_uio: Make <sys/uio.h> self-contained. * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>. * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
Bruno Haible 95bbafdb 2011-04-30T13:38:43 sys_socket: Ensure 'struct iovec' definition. * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have <sys/socket.h>. * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
Bruno Haible c9b4d370 2011-04-30T13:19:55 sys_uio: Protect definition of 'struct iovec'. * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define it as a C struct.
Bruno Haible 12a4891e 2011-04-30T11:54:12 netdb: Fix invalid C syntax. * lib/netdb.in.h (AI_ADDRCONFIG): Fix comment syntax.
Eric Blake aaf62c6a 2011-04-28T17:25:49 quotearg: avoid uninitialized variable use Coverity correctly deduced: Error: UNINIT: m4-1.4.16/lib/quotearg.c:171: var_decl: Declaring variable "o" without initializer. m4-1.4.16/lib/quotearg.c:175: uninit_use: Using uninitialized value "o": field "o".right_quote is uninitialized. When custom_quoting_style was introduced in commit 12247f77, this method was not updated, and any caller that passed the new enum value to any of the existing quotearg_*style functions could trigger a crash from the uninitialized memory. That was already documented as unspecified behavior, though, so changing to an abort makes it easier to spot bad code that passes the wrong enum value, rather than waiting for the eventual bad memory dereference later on. Most callers of quotearg_*style were using quoting_style_args and quoting_style_vals to map strings to particular enum values, and custom_quoting_style is (intentionally) not covered by these arrays, so the pre-patch bug/post-patch abort are not possible with those callers. * lib/quotearg.c (quoting_options_from_style): Initialize remaining fields, and ensure that custom styles are only used via quoting_options rather than quoting_style. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 3864a297 2011-04-29T14:09:15 netdb: fix gai_strerror replacements * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions. * modules/netdb: Substitute it.
Eric Blake 74175b90 2011-04-28T16:46:16 getaddrinfo: fix gai_strerror signature Several platforms declare gai_strerror to return char* rather than const char*. Worse, on mingw, if UNICODE is defined, it is defined to return WCHAR*, which means the result is in unicode but an application expecting bytes for characters will only see a one-byte answer. * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures, and work around mingw with UNICODE defined. (gl_PREREQ_GETADDRINFO): Drop redundant decl check. * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness. * modules/netdb (Makefile.am): Substitute it. * lib/netdb.in.h (gai_strerror): Declare replacement. * lib/gai_strerror.c (rpl_gai_strerror): Fix signature. * doc/posix-functions/gai_strerror.texi (gai_strerror): Document the fix. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 7aa5e8dd 2011-04-28T15:24:46 getsockopt: avoid compiler warning getsockopt.c: In function 'rpl_getsockopt': getsockopt.c:51:7: warning: passing argument 4 of 'getsockopt' from incompatible pointer type c:\dev\msys_setup\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/winsock2.h:543:32: note: expected 'char *' but argument is of type 'int *' A simple cast works around the mingw signature lameness. If only they had picked void* instead of char*, like POSIX says... * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw. Reported by Matthias Bolte. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 83b1d641 2011-04-27T16:23:45 hash, mgetgroups: drop xalloc dependency Rely on the new xalloc-oversized module to avoid requiring xalloc-die for functions documented as returning NULL on potential allocation overflow. * lib/hash.c (includes): Adjust includes. * lib/mgetgroups.c (includes): Likewise. (xgetgroups): Move... * lib/xgetgroups.c: ...to new file. * modules/xgetgroups: New file, split from... * modules/mgetgroups: ...here. (Depends-on): Add xalloc-oversized. * modules/hash (Depends-on): Likewise. * modules/hash-tests (Depends-on): Drop xalloc. (test_hash_LDADD): Drop unused library. * tests/test-hash.c (main): Break xalloc dependency. (includes): Drop unused include. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake bf18c9b4 2011-04-27T15:54:30 xalloc-oversized: new module Due to inline functions, mere inclusion of xalloc.h can result in a link dependency on xalloc_die() on some platforms. However, there are several modules that want to use just xalloc_oversized in order to short-circuit the potential to call xalloc_die. Splitting the macro into a new header and module makes this easy. * modules/xalloc-oversized: New module. * modules/xalloc (Depends-on): Add it. * lib/xalloc.h (xalloc_oversized): Move... * lib/xalloc-oversized.h: ...into new file. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 7cbc494f 2011-04-27T15:41:54 utimecmp: drop dependency on xmalloc utimecmp's only use of malloc was for a cache; we can always bypass the cache in low memory, and thus avoid dragging in xalloc-die. * lib/utimecmp.c (utimecmp): Work even if hash table cache fails due to memory pressure. * modules/utimecmp (Depends-on): Drop xalloc. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 8585ce2f 2011-04-27T20:40:21 getcwd: fix mingw bugs On mingw, getcwd(NULL,1) succeeds, even though glibc documents that with a non-zero size, the allocation will not exceed that many bytes. On mingw, getcwd has the wrong signature. However, we don't have to check for this if anything else triggers the replacement. Also, fix a type bug that crept into the original getcwd-lgpl commit. * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug. * doc/posix-functions/getcwd.texi (getcwd): Document the problems. * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 2cd4d6d9 2011-04-28T01:26:12 Typo in comment.
Bruno Haible a4e3a1d3 2011-04-28T00:06:48 mkstemps: Ensure declaration on MacOS X 10.5. * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested. * doc/glibc-functions/mkstemps.texi: Document header file problem on MacOS X.
Bruno Haible 5ea8bedd 2011-04-27T23:28:48 clean-temp: Clarify what it does. * lib/clean-temp.h: Add more comments. * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp' module. * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too. * doc/glibc-functions/mkstemps.texi: Likewise. * doc/glibc-functions/mkostemps.texi: Likewise.
Eric Blake 825499de 2011-04-26T15:58:03 fchdir: avoid extra chdir and fix test On Linux, with a forced ac_cv_func_fchdir=no, the test failed because dup2 was not replaced, all because the shell variable ac_cv_func_dup2 had not been set yet. Meanwhile, computing the canonical pathname of a directory on mingw was rather expensive -- multiple chdir()! -- but nothing cared whether the name was canonical, just that it was absolute. * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl, getcwd-lgpl. * lib/fchdir.c (get_name): Any absolute name will do; it does not have to be canonical. * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 0c631b51 2011-04-26T15:07:07 save-cwd: reduce default dependency save-cwd generally needs only a working fchdir or a working getcwd(NULL,0). If you are not worried about directories whose absolute name is longer than PATH_MAX, then reducing the default dependencies reduces the bulk for this module. However, there are cases where neither function works on Linux (an unreadable but searchable directory can be opened by O_SEARCH, except that Linux doesn't implement that yet; and Linux getcwd() has issues with long absolute names which glibc does not work around but which the full-blown getcwd module does). So someone desiring a truly robust solution needs to import the 'getcwd' module at the same time as 'save-cwd'. * modules/save-cwd (Depends-on): Use getcwd-lgpl. * lib/save-cwd.c: Update comments. * NEWS: Document the semantic change. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 043be67a 2011-04-26T14:40:58 getcwd-lgpl: new module For programs that aren't worried about being invoked from an current working directory longer than PATH_MAX (perhaps because the program always does chdir to a sane location first), the getcwd module is overkill, given that all modern portability targets have a getcwd that works on short names. * modules/getcwd-lgpl: New module. * lib/getcwd-lgpl.c: New file. * doc/posix-functions/getcwd.texi (getcwd): Document it. * MODULES.html.sh (lacking POSIX:2008): Likewise. * modules/getcwd (configure.ac): Set C witness. * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 722fc0ac 2011-04-27T09:52:00 passfd: avoid compiler warning Detected on Fedora 13 with -Wshadow. * lib/passfd.c (sendfd, recvfd): Avoid shadowing names. Reported by Laine Stump. Signed-off-by: Eric Blake <eblake@redhat.com>
Reuben Thomas ca1502f7 2011-04-27T14:30:31 mkstemp: mention clean-temp module * lib/mkstemp.c: Add comment. * doc/posix-functions/mkstemp.texi (mkstemp): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert 6950d658 2011-04-25T17:33:42 strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit This supports apps that need pointers to strtoimax and strtoumax, and ports to HP-UX 11.00 64.bit, which has macros that expand to nonexistent functions. See <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html> et seq. * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring. * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's a macro. * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
Jim Meyering 6829a6c0 2011-04-25T10:38:33 Revert "use _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE" This reverts commit 349d7fe0e307d59d508b3579317ee8d4eacfeb9c. Revert accidentally-pushed patch. Not yet ready.
Jim Meyering 349d7fe0 2011-04-24T19:02:10 use _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
Paul Eggert 46380c37 2011-04-22T00:45:04 strtol: remove dependency on wchar * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined. * modules/strtol (Depends-on): Remove wchar.
Eric Blake e5535531 2011-04-21T11:48:22 passfd: speed up configure and drop unused code Ultimately, it would be nice to provide a sendmsg and recvmsg module, and have those provide a replacement struct msghdr and silently convert msg_accrights into the replacement struct's msg_control, when targeting older BSD. But until that point in time, this is a nice cleanup. SCM_RIGHTS really only works on Unix sockets; however, there is nothing in passfd.c that needs to be hard-coded to this (rather, the hard-coding of the address family is done externally when the socket or socketpair is created). * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename... * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of its use. Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS. Instead of probing at configure for unix_scm_rights_bsd44_way, instead probe for CMSG_FIRSTHDR at compile time. Simplify BSD 4.3 check to a struct member probe. * lib/passfd.c (includes): Nothing here requires <sys/un.h>. (sendfd, recvfd): Update preprocessor checks. * modules/passfd (Files): Reflect rename, and drop unused file. (Depends-on): Drop unused dependency. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 06d76f63 2011-04-21T07:16:20 passfd: allow compilation on mingw The passfd module now skips on mingw, rather than failing to compile. It may be nice to add a sendmsg and recvmsg module in the future, but for now passfd is the only client that cares. * modules/sys_socket (Depends-on): Add sys_uio. * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct iovec and a minimal struct msghdr. * tests/test-sys_socket.c (main): Enhance test. * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg. * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is guaranteed to provide what we need. (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg. * modules/passfd-tests (Depends-on): Add sys_wait. * tests/test-passfd.c (main): Skip test on mingw, for now. * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the partial 'struct msghdr' implementation. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 753425d5 2011-04-21T08:51:12 sys_uio: new module For now, just provide the types used by sys/socket. We could add readv() and writev() later, if desired. * modules/sys_uio: New module. * modules/sys_uio-tests: Likewise. * lib/sys_uio.in.h: New file. * m4/sys_uio_h.m4: Likewise. * tests/test-sys_uio.c: Likewise. * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it. * MODULES.html.sh (systems lacking POSIX:2008): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 6110d07d 2011-04-18T02:34:47 ioctl: Remove link dependency on native Windows. * lib/fd-hook.h: Renamed from lib/close-hook.h. (gl_close_fn, gl_ioctl_fn): New types. (struct fd_hook): Renamed from struct close_hook. Change type of private_close_fn field. Add private_ioctl_fn field. (close_hook_fn): Add parameter for primary close method. (execute_close_hooks, execute_all_close_hooks): Likewise. (ioctl_hook_fn): New type. (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations. (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook argument. (unregister_fd_hook): Renamed from unregister_close_hook. * lib/fd-hook.c: Renamed from lib/close-hook.c. Don't include <unistd.h>. (close): Remove undef. (anchor): Update. (execute_close_hooks): Add argument for primary close method. (execute_all_close_hooks): Likewise. (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions. (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook argument. Allow each argument to be NULL. (unregister_fd_hook): Renamed from unregister_close_hook. * lib/close.c (rpl_close): Pass 'close' function pointer to execute_all_close_hooks. * lib/ioctl.c: Include <errno.h>, fd-hook.h. (primary_ioctl): New function. (ioctl): Don't call ioctlsocket here. Instead, call execute_all_ioctl_hooks. * lib/sockets.c (close_fd_maybe_socket): Add argument for primary close method. (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c. (fd_sockets_hook): Renamed from close_sockets_hook. (gl_sockets_startup, gl_sockets_cleanup): Update. * modules/fd-hook: Renamed from modules/close-hook. Update. * modules/close (Depends-on): Add fd-hook, remove close-hook. * modules/sockets (Depends-on): Likewise. * modules/ioctl (Depends-on): Add fd-hook. * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not GNULIB_SOCKET.
Bruno Haible de3622c2 2011-04-17T23:36:27 pipe2: Simplify code. * lib/pipe2.c (pipe2): Reduce code duplication.
Bruno Haible e9da1441 2011-04-17T23:16:13 nonblocking: Add comment. * lib/fcntl.in.h (O_NONBLOCK): Add comment.
Bruno Haible d8fb6162 2011-04-16T12:10:16 strchrnul: Tweak last commit. * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin bug. * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL as in _GL_FUNCDECL_SYS. * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
Eric Blake 2aa729ac 2011-04-15T13:53:50 strchrnul: work around cygwin bug A misplaced * means that cygwin 1.7.9 dereferences NULL rather than returning the location of the trailing NUL byte. * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug. * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness. * modules/string (Makefile.am): Substitute it. * lib/string.in.h (strchrnul): Use it. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 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.
Bruno Haible 73899ad3 2011-04-14T23:42:01 Support non-blocking pipe I/O in write() on native Windows. * lib/write.c (rpl_write): Split a write request that failed merely because the byte count was larger than the pipe buffer's size. * doc/posix-functions/write.texi: Mention the problem with large byte counts.
Bruno Haible 93dca9da 2011-04-14T22:29:41 wchar: Ensure that wchar_t gets defined on uClibc. * lib/wchar.in.h: On uClibc, include <stddef.h>. Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
Bruno Haible 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.
Jim Meyering 8e7e846f 2011-04-10T23:11:43 maint: remove doubled word: s/it it/it/ * lib/stat-time.h (get_stat_birthtime): s/it it/it/
Jim Meyering f9e83fd4 2011-04-10T09:56:02 maint: remove doubled words in comments, e.g., s/a a/a/ * lib/strptime.c (day_of_the_week): s/the the/the/ * tests/test-chown.h (test_chown): s/a a/a/
Jim Meyering bd711170 2011-04-09T23:15:02 maint: fix "the the" in comment * lib/count-one-bits.h: s/the the/the/
Jim Meyering 52feca2c 2011-04-09T23:05:22 maint: change "can not" to "cannot" But do not change the occurrences in maintain.texi or in build-aux/po/Makefile.in.in, which I presume comes from gettext. * doc/gnulib-tool.texi: s/can not/cannot/ * doc/posix-functions/accept.texi (accept): Likewise. * doc/posix-functions/socket.texi (socket): Likewise. * lib/mbrtowc.c: Likewise.
Bruno Haible bdfd8afa 2011-04-09T20:59:16 careadlinkat: Guard against misuse of careadlinkatcwd. * lib/careadlinkat.c: Include <stdlib.h>. (careadlinkatcwd): Check that the fd argument is as expected.
Bruno Haible 6dce4dba 2011-04-09T20:57:21 careadlinkat: Use common coding style. * lib/careadlinkat.c: Move gnulib includes after system includes.
Bruno Haible 66a23677 2011-04-09T18:38:04 careadlinkat: Clarify specification. * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument. (careadlinkatcwd): Add comment. * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
Bruno Haible 18ce6fa9 2011-04-09T18:18:18 allocator, careadlinkat: Fix double-inclusion guard. * lib/allocator.h: Fix double-inclusion guard. * lib/careadlinkat.h: Likewise.
Bruno Haible d14f18bd 2011-04-09T18:05:54 relocatable-prog-wrapper: Update after module 'areadlink' changed. * lib/relocwrapper.c: Update dependencies hierarchy. * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc], lib/allocator.[hc].
Bruno Haible ef127178 2011-04-09T02:12:11 verify: Fix syntax error with GCC 4.6 in C++ mode. * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode. (HAVE_STATIC_ASSERT): New macro. (verify_true, verify): Use 'static_assert' if it is supported and '_Static_assert' is not supported.
Paul Eggert cb4ce863 2011-04-08T13:22:51 allocator: New module. * modules/allocator, lib/allocator.c: New files. * lib/allocator.h (stdlib_allocator): New decl. * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator): Remove. Do not include <stdlib.h>. (careadlinkat): Use stdlib_allocator instead of rolling our own. * modules/careadlinkat (Files): Remove lib/allocator.h. (Depends-on): Add allocator.
Paul Eggert 71d4cd45 2011-04-08T13:05:39 * lib/stdlib.in.h (malloc, realloc): Limit this change to a smaller scope.
Paul Eggert 003d3037 2011-04-08T11:39:01 * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
Paul Eggert 0c3b4815 2011-04-08T11:38:38 * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
Paul Eggert 69c99f3a 2011-04-08T11:37:24 * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
Paul Eggert ef11bf40 2011-04-08T11:35:40 * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
Paul Eggert bb9960c4 2011-04-08T11:34:08 * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
Paul Eggert 8cce8985 2011-04-08T11:31:54 * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
Paul Eggert 10d90c83 2011-04-08T11:30:47 * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
Paul Eggert 9df573c1 2011-04-08T11:14:38 * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
Paul Eggert 0f6ac7dc 2011-04-08T11:11:49 * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define. (malloc, realloc): Don't #undef; no longer needed.
Paul Eggert c93727f2 2011-04-08T11:06:03 stdlib: let modules use system malloc, realloc * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings if !_GL_USE_STDLIB_ALLOC.
Paul Eggert 7a6955f7 2011-04-08T10:41:30 careadlinkat: rename members to avoid problem * lib/allocator.h (struct allocator): Rename members from malloc/realloc to allocate/reallocate, to avoid problems if malloc and realloc are #define'd. Reported by Eric Blake in <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>. * lib/careadlinkat.c (careadlinkat): Adjust to renaming. careadlinkat: fix compilation error on mingw
Eric Blake 4a1579d7 2011-04-08T11:51:45 nonblocking: reduce dependency No need to make nonblocking drag in sockets just for a test; test them if they are present and skip them otherwise. * tests/test-nonblocking.c: Only test sockets when in use. * modules/nonblocking-tests (Depends-on): Drop socket. (Makefile.am): Link even if sockets are not present. * modules/pipe2-tests (Makefile.am): Likewise. * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 0568a6e8 2011-04-08T10:52:55 pipe2: fix O_NONBLOCK support on mingw * modules/pipe2 (Depends-on): Add nonblocking. * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support. * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly. * tests/test-nonblocking.c (main): Likewise. * modules/pipe2-tests (Makefile.am): Avoid link failure. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake b277764a 2011-04-08T10:22:00 fcntl-h: fix O_ACCMODE on cygwin * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug. * lib/fcntl.in.h (O_ACCMODE): Fix it. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake e7f37a21 2011-04-08T10:44:53 pipe-filter: drop O_NONBLOCK workarounds * modules/pipe-filter-gi (Depends-on): Add fcntl-h. * modules/pipe-filter-ii (Depends-on): Likewise. * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 70a72e0f 2011-04-08T10:15:54 nonblocking: provide O_NONBLOCK for mingw Mingw is the only known platform that lacks O_NONBLOCK (possibly via the alternate spelling O_NDELAY). But mingw also lacks any files where open() needs to enforce non-blocking behavior, and lacks openat(), so it is relatively simple to provide a non-zero flag. A future patches will make use of O_NONBLOCK for pipe2. * modules/nonblocking (Depends-on): Add open. (configure.ac): Set new witness macro. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it. * modules/fcntl-h (Makefile.am): Substitute it. * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when nonblocking module is in use. * lib/nonblocking.c: Adjust portability test. * lib/open.c (open): Don't let native open see gnulib flag. * tests/test-fcntl-h.c (main): Enhance test. * tests/test-open.h (test_open): Likewise. * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 9cc99102 2011-04-08T08:51:56 careadlink: fix compilation error on mingw Mingw compilation failed: lib/careadlinkat.c: In function 'careadlinkat': lib/careadlinkat.c:143:39: error: 'const struct allocator' has no member named 'malloc' lib/careadlinkat.c:149:66: error: 'const struct allocator' has no member named 'realloc' lib/careadlinkat.c:152:39: error: 'const struct allocator' has no member named 'realloc' lib/careadlinkat.c:169:27: error: 'const struct allocator' has no member named 'malloc' make[4]: *** [careadlinkat.lo] Error 1 because "careadlinkat.h" includes enough system headers to get replacement names defined for malloc, then "allocator.h" defines fields with those replacement names, then undefining the macros tries to reference missing fields. I figured this patch is less invasive than changing the field names in allocator.h, and possibly requiring clients to change. * lib/careadlinkat.c (standard_allocator): Avoid renaming fields within struct allocator. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert 2255b865 2011-04-05T23:45:10 verify: use _Static_assert if available * lib/verify.h (HAVE__STATIC_ASSERT): New macro. (verify_true, verify): Use it if available. This generates better diagnostics with GCC 4.6.0 and later.
Paul Eggert 4266051a 2011-04-05T09:52:32 areadlink, areadlinkat: rewrite in terms of careadlinkat * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h. (SSIZE_MAX, INITIAL_BUF_SIZE): Remove. (malloc, realloc): Remove #undefs. (areadlink, areadlinkat): Rewrite in terms of careadlinkat. * modules/areadlink (Depends-on): Add careadlinkat. Remove readlink, ssize_t, stdint, unistd. * modules/areadlinkat (Depends-on): Add careadlinkat. Remove areadlink, stdint. careadlinkat: new module * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c: * modules/careadlinkat: New files, written by me with a review and feedback from Ben Pfaff in <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
Bruno Haible 25d7f3a5 2011-04-02T00:01:13 wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode. * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10 systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN. Reported by Bruce Korb <bruce.korb@gmail.com>.
Eric Blake dec34757 2011-03-31T15:28:37 nonblocking: fix mingw test failures Actually testing on mingw uncovered a few more problems. * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing non-blocking flag on regular file. (get_nonblocking_flag): Set errno on invalid fd. * tests/test-nonblocking.c (main): Avoid test failure on directories if fchdir is not active. * modules/nonblocking-tests (Depends-on): Drop unused dependency. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible b992f808 2011-03-31T18:07:13 nonblocking: Tweak comment.
Eric Blake 111a4bf8 2011-03-30T22:07:20 nonblocking: new module * modules/nonblocking: New module. * modules/nonblocking-tests: Likewise. * lib/nonblocking.h: New file. * lib/nonblocking.c: Likewise. * tests/test-nonblocking.c: New test. * lib/ioctl.c (ioctl) [mingw]: Update comment. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 790645d8 2011-03-31T02:52:06 stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw. * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format instead of 'printf' format for GCC >= 4.4. (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro. (fprintf, printf, vfprintf, vprintf): Declare with _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling the system's vfprintf() function. Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
Eric Blake f711a2d5 2011-03-30T18:15:33 passfd: fix scoping bug The scoping bug was the cause of the NetBSD hang. * lib/passfd.c (sendfd, passfd): Don't let buf go out of scope before sendmsg/recvmsg. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 2f681c52 2011-03-30T15:30:13 passfd: standardize coding conventions * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that can be learned at compile time. * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function ifdefs. (passfd, recvfd): Follow gnulib code conventions. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake f607f2cd 2011-03-30T14:46:02 passfd: fix incorrect sendmsg arguments The unit test hung on NetBSD, which pointed out a couple of bugs. * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and incorrect msg_controllen value. * modules/passfd-tests (Depends-on): Check for alarm. * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test. Reported by Bastien ROUCARIES. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 4e51bc98 2011-03-26T15:36:15 unictype/property-byname: Reduce the number of load-time relocations. * lib/unictype/pr_byname.c: Include <stdlib.h>. (UC_PROPERTY_INDEX_*): New enumeration values. (uc_property_byname): Convert an index from the lookup table to an uc_property_t. * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t values.
Bruno Haible e6c834a4 2011-03-26T14:54:23 unictype/property-byname: Allow omitted word separators and aliases. * lib/unictype/pr_byname.gperf: Add property names without word separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except for 'space'.
Bruno Haible 27819fa4 2011-03-26T14:10:30 unictype/joininggroup-byname: Allow hyphens, omitted word separators. * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert also hyphens to space. * lib/unictype/joininggroup_byname.gperf: Recognize the names also without spaces. * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
Bruno Haible 81aea5d9 2011-03-26T13:38:00 unictype/joiningtype-byname: Recognize long names as well. * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be a long name. * lib/unictype/joiningtype_byname.c: Include <string.h>, unictype/joiningtype_byname.h. (uc_joiningtype_class_byname): Use uc_joining_type_lookup. * lib/unictype/joiningtype_byname.gperf: New file. * modules/unictype/joiningtype-byname (Files): Add lib/unictype/joiningtype_byname.gperf. (Depends-on): Add gperf. (Makefile.am): Add rule for generating unictype/joiningtype_byname.h. * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of long names.
Bruno Haible 0f7c8434 2011-03-26T13:18:10 New module 'unictype/joiningtype-longname'. * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration. * lib/unictype/joiningtype_longname.c: New file. * modules/unictype/joiningtype-longname: New file. * modules/unictype/joiningtype-all (Depends-on): Add unictype/joiningtype-longname.
Bruno Haible ef51234c 2011-03-26T12:49:04 unictype/bidiclass-byname: Recognize long names as well. * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long name. * lib/unictype/bidi_byname.c: Include <string.h>, unictype/bidi_byname.h. (uc_bidi_class_byname): Use uc_bidi_class_lookup. * lib/unictype/bidi_byname.gperf: New file. * modules/unictype/bidiclass-byname (Files): Add lib/unictype/bidi_byname.gperf. (Depends-on): Add gperf. (Makefile.am): Add rule for generating unictype/bidi_byname.h. * tests/unictype/test-bidi_byname.c (main): Test the recognition of long names.
Bruno Haible 71d7e98c 2011-03-26T12:20:22 New module 'unictype/bidiclass-longname'. * lib/unictype.in.h (uc_bidi_class_long_name): New declaration. * lib/unictype/bidi_longname.c: New file. * modules/unictype/bidiclass-longname: New file. * modules/unictype/bidiclass-all (Depends-on): Add unictype/bidiclass-longname.
Bruno Haible 8e7198f2 2011-03-26T11:51:52 unictype/bidi*: Rename modules. * modules/unictype/bidiclass-all: Renamed from modules/unictype/bidicategory-all. * modules/unictype/bidiclass-name: Renamed from modules/unictype/bidiclass-name. (Description): Update. * modules/unictype/bidiclass-name-tests: Renamed from modules/unictype/bidicategory-name-tests. * modules/unictype/bidiclass-byname: Renamed from modules/unictype/bidicategory-byname. (Description): Update. * modules/unictype/bidiclass-byname-tests: Renamed from modules/unictype/bidicategory-byname-tests. * modules/unictype/bidiclass-of: Renamed from modules/unictype/bidicategory-of. (Description): Update. * modules/unictype/bidiclass-of-tests: Renamed from modules/unictype/bidicategory-of-tests. * modules/unictype/bidiclass-test: Renamed from modules/unictype/bidicategory-test. (Description): Update. * modules/unictype/bidiclass-test-tests: Renamed from modules/unictype/bidicategory-test-tests. * modules/unictype/bidicategory-all: New file, a simple redirection. * modules/unictype/bidicategory-name: Likewise. * modules/unictype/bidicategory-byname: Likewise. * modules/unictype/bidicategory-of: Likewise. * modules/unictype/bidicategory-test: Likewise. * modules/unictype/property-bidi-* (Dependencies): Update. * lib/unictype/bidi_*.c: Update comment.
Bruno Haible 8fd3c4c1 2011-03-26T02:39:24 New module 'unictype/combining-class-byname'. * lib/unictype.in.h (uc_combining_class_byname): New declaration. * lib/unictype/combiningclass_byname.c: New file. * lib/unictype/combiningclass_byname.gperf: New file. * modules/unictype/combining-class-byname: New file.
Bruno Haible 1cb79657 2011-03-26T01:03:10 New module 'unictype/combining-class-longname'. * lib/unictype.in.h (uc_combining_class_long_name): New declaration. * lib/unictype/combiningclass_longname.c: New file. * modules/unictype/combining-class-longname: New file.
Bruno Haible 62a140bc 2011-03-26T00:52:51 New module 'unictype/combining-class-name'. * lib/unictype.in.h (uc_combining_class_name): New declaration. * lib/unictype/combiningclass_name.c: New file. * modules/unictype/combining-class-name: New file.
Bruno Haible c7aa0701 2011-03-26T02:18:11 unictype/combining-class: Rename source files. * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead of unictype/combining.h. * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c. Update. * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h. * modules/unictype/combining-class (Description): Fix. (Files, Makefile.am): Update. * tests/unictype/test-combiningclass.c: Renamed from tests/unictype/test-combining.c. * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
Bruno Haible 51765403 2011-03-26T00:49:40 unictype: Update list of canonical combining classes. * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
Bruno Haible 90656bd7 2011-03-25T23:23:09 unictype/category-byname: Recognize long names as well. * lib/unictype.in.h (uc_general_category_byname): Allow argument to be a long name. * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>, unictype/categ_byname.h. (UC_CATEGORY_INDEX_*): New enumeration values. (uc_general_category_byname): Use uc_general_category_lookup and convert from index to value. * lib/unictype/categ_byname.gperf: New file. * modules/unictype/category-byname (Files): Add lib/unictype/categ_byname.gperf. (Depends-on): Add gperf. (Makefile.am): Add rule for generating unictype/categ_byname.h. * tests/unictype/test-categ_byname.c (main): Test the recognition of long names.
Bruno Haible 999c736e 2011-03-25T23:14:10 New module 'unictype/category-longname'. * lib/unictype.in.h (uc_general_category_long_name): New declaration. * lib/unictype/categ_longname.c: New file. * modules/unictype/category-longname: New file. * modules/unictype/category-all (Depends-on): Add it.
Bruno Haible 6483be12 2011-03-25T20:23:43 New module 'unictype/category-LC'. * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value. (UC_CATEGORY_LC): New declaration. (UC_CASED_LETTER): New macro. * lib/gen-uni-tables.c (is_category_LC): New function. (output_categories): Also handle category LC. (UC_CATEGORY_MASK_LC): New enumeration value. (general_category_byname): Also handle category LC. * lib/unictype/categ_LC.c: New file. * lib/unictype/categ_LC.h: New file, automatically generated. * lib/unictype/categ_name.c (uc_general_category_name): Also handle category LC. * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise. * modules/unictype/category-LC: New file. * modules/unictype/category-all (Depends-on): Add unictype/category-LC.
Eric Blake ac165f45 2011-03-25T10:45:39 xmalloc: revert yesterday's regression * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to realloc's underlying behavior (allowing allocation of zero-size objects, especially if malloc-gnu is also in use). Signed-off-by: Eric Blake <eblake@redhat.com>