1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-17 12:41:05 +03:00
Commit Graph

36 Commits

Author SHA1 Message Date
Paul Eggert
a3fd683de3 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2017-01-01 02:59:23 +00:00
Paul Eggert
71090a2a31 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2016-01-01 00:57:21 -08:00
Paul Eggert
b9bfe78424 version-etc: new year
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
* all files: Run 'make update-copyright'.
2014-12-31 17:47:54 -08:00
Eric Blake
1276a2c5f2 maint: update copyright
I ran 'make update-copyright'.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-01-01 00:07:10 -07:00
Eric Blake
9fc81090f6 maint: update all copyright year number ranges
Run "make update-copyright".  Compare to commit 1602f0a from last year.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-01-01 00:50:58 +00:00
Bruno Haible
9f1f81e436 Avoid "guessing no" guesses when cross-compiling to glibc systems.
* m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
* m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
* m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
* m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
* m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_chown_slash_works,
gl_cv_func_chown_ctime_works to "guessing yes".
* m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
* m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
* m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_open_directory_works to
"guessing yes".
* m4/fstat.m4 (gl_FUNC_FSTAT): Update.
* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
"guessing yes".
* m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
* m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_floorf_ieee to
"guessing yes".
* m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
* m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
* m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
"guessing yes".
* m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
* m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_hypotf_ieee to
"guessing yes".
* m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_hypotl_ieee to
"guessing yes".
* m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
* m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
* m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
* m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
* m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log10f_ieee to
"guessing yes".
* m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
* m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log1pf_ieee to
"guessing yes".
* m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log1pl_ieee to
"guessing yes".
* m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
* m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
* m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_mkfifo_works to
"guessing yes".
* m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_mknod_works to
"guessing yes".
* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
"guessing yes".
* m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
* m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
* m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
* m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_svid_putenv to
"guessing yes".
* m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_readlink_works to
"guessing yes".
* m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
"guessing yes".
* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
to "guessing yes".
* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
to "guessing yes".
* m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_rmdir_works to
"guessing yes".
* m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
gl_cv_func_unlink_parent_fails to "guessing yes".
* m4/remove.m4 (gl_FUNC_REMOVE): Update.
* m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
gl_cv_func_rename_dest_works to "guessing yes".
* m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
* m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_roundf_ieee to
"guessing yes".
* m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_roundl_ieee to
"guessing yes".
* m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_setenv_works to
"guessing yes".
(gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_unsetenv_works to
"guessing yes".
* m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_sleep_works to
"guessing yes".
* m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_stat_file_slash to
"guessing yes".
* m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_symlink_works to
"guessing yes".
* m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
* m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_truncf_ieee to
"guessing yes".
* m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_truncl_ieee to
"guessing yes".
* m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_usleep_works to
"guessing yes".
* m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_futimesat_works to
"guessing yes".
2012-05-04 03:33:08 +02:00
Jim Meyering
1602f0afed maint: update all copyright year number ranges
Run "make update-copyright".
2012-01-01 10:04:58 +01:00
Bruno Haible
df365b5f89 iconv, unsetenv: Add support for MSVC compiler.
* m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
2011-09-10 22:30:20 +02:00
Bruno Haible
5e0f867779 unsetenv: Move AC_LIBOBJ invocations to module description.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
and gl_PREREQ_UNSETENV invocations from here...
* modules/unsetenv (configure.ac): ... to here.
(Depends-on): Update.
2011-06-16 00:06:45 +02:00
Bruno Haible
c03434c92e setenv: Move AC_LIBOBJ invocations to module description.
* m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
here...
* modules/setenv (configure.ac): ... to here.
2011-06-16 00:06:45 +02:00
Bruno Haible
325f131b3d relocatable-prog-wrapper: Fix possible link error.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
(gl_FUNC_SETENV): ... to here.
* m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
* m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
2011-05-21 23:41:37 +02:00
Eric Blake
ad98f8ef51 unsetenv: work around Haiku issues
On Haiku alpha 2, test-unsetenv.c passed in isolation with just
system headers, but failed when libgnu and replacement headers
were in use.  Why?  Because putenv("a") fails to remove "a=..."
from the environment, but the gnulib rpl_putenv works by
assigning to environ.  Apparently, Haiku is doing some funky
caching issues, and correctly removes all vestiges of environment
duplicates when Haiku is in charge, but not after assigning to
environ forces Haiku to rebuild its cache.

The m4 change is sufficient to detect Haiku's oddities, and the
existing replacement then passes just fine.

* m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
* doc/posix-functions/unsetenv.texi (unsetenv): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-02-05 15:19:15 -07:00
Jim Meyering
d60f3b0c6b maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
2011-01-01 22:12:59 +01:00
Jim Meyering
f5555e473b setenv: restore to working order
$HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
mistakenly removed.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
HAVE_SETENV.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
HAVE_SETENV.
2010-12-19 22:48:27 +01:00
Bruno Haible
1820a91386 unsetenv: Add missing declaration on OSF/1 5.1.
* lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
Don't set HAVE_UNSETENV. In the test program, set _BSD.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
not HAVE_UNSETENV.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
HAVE_UNSETENV.
* doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
2010-12-19 18:35:54 +01:00
Bruno Haible
ce700d8c46 setenv: Add missing declaration on OSF/1 5.1.
* lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
declared. Don't set HAVE_SETENV.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
not HAVE_SETENV.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
HAVE_SETENV.
* doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
2010-12-19 18:08:03 +01:00
Bruno Haible
1f8c872f26 Put more information about failed tests into the test return codes.
* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
* m4/intdiv0.m4 (gt_INTDIV0): Likewise.
* m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
* m4/stdint.m4 (gl_STDINT_H): Likewise.
* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
returns a bit mask.
* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
* m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
* m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
* m4/iconv.m4 (AM_ICONV_LINK): Likewise.
* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
* m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
* m4/link.m4 (gl_FUNC_LINK): Likewise.
* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
* m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
* m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
* m4/open.m4 (gl_FUNC_OPEN): Likewise.
* m4/poll.m4 (gl_FUNC_POLL): Likewise.
* m4/popen.m4 (gl_FUNC_POPEN): Likewise.
* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
gl_PRINTF_PRECISION): Likewise.
* m4/regex.m4 (gl_REGEX): Likewise.
* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
* m4/stat.m4 (gl_FUNC_STAT): Likewise.
* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
* m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
* m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
* m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
(gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
enumerated value.
* m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
2010-12-06 22:57:23 +01:00
Eric Blake
da59166b23 unsetenv: fix OpenBSD bug
* m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
* doc/posix-functions/unsetenv.texi (unsetenv): Update
documentation.
Reported by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-08 14:02:42 -06:00
Bruno Haible
2c4321f6d6 Modernize AC_TRY_COMPILE invocations. 2010-08-26 22:45:33 +02:00
Bruno Haible
d26ede5aec setenv: Tweaks. 2010-03-21 23:24:17 +01:00
Jim Meyering
b2e2010c7c 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
2010-01-01 10:42:00 +01:00
Eric Blake
b72fe29b14 tests: avoid compiler warnings
Silence more warnings during coreutils build.

* tests/test-fcntl.c (main): Delete unused parameters.
* tests/test-freopen-safer.c (main): Likewise.
* tests/test-xalloc-die.c (main): Mark unused parameters.
* tests/test-fseeko.c (main): Likewise.
* tests/test-ftello.c (main): Likewise.
* tests/test-nanosleep.c (main): Avoid declaration warning.
* tests/test-sleep.c (main): Likewise.
* tests/test-unsetenv.c (main): Silence warning about string
literal.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-12-23 06:45:58 -07:00
Eric Blake
91e21656de setenv: relax requirement in light of POSIX ruling
Requiring that {un,}setenv gracefully reject NULL is just a waste
of processing power; POSIX agreed to this argument in
 http://austingroupbugs.net/view.php?id=185
so we no longer worry whether a native implementation handles NULL.

* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
not NULL.
* tests/test-setenv.c (main): Relax test.
* tests/test-unsetenv.c (main): Likewise.
* doc/posix-functions/setenv.texi (setenv): Document this.
* doc/posix-functions/unsetenv.texi (unsetenv): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-12-11 13:57:28 -07:00
Eric Blake
41d42744e7 unsetenv: work around Solaris bug
unsetenv(name) only cleared the first instance, even if (ab)use of
putenv, or assignment to environ, included duplicates of name.

* m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
* lib/unsetenv.c (rpl_unsetenv): Work around it.
Reported by Jim Meyering.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-11-17 06:31:34 -07:00
Eric Blake
8dffeb6f35 setenv, unsetenv: work around various bugs
POSIX requires setenv(NULL,"",0), setenv("a=b","",0),
unsetenv(NULL), and unsetenv("a=b") to fail with EINVAL, but
many BSD implementations lack validation.  The gnulib
replacement for void unsetenv did not do validation, and the
replacement for setenv was out of sync with glibc.  Also, some
BSD implementations of setenv("a","==",1) eat the leading '='.

See also some recent Austin Group interpretations on environ:
http://austingroupbugs.net/view.php?id=167
http://austingroupbugs.net/view.php?id=185

* lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
(setenv) [HAVE_SETENV]: Work around bugs.
* lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
for bugs.
(gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
* m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
* modules/stdlib (Makefile.am): Update substitutions.
* lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
* doc/posix-functions/setenv.texi (setenv): Document the bugs.
* doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
* modules/setenv-tests: New test.
* modules/unsetenv-tests: Likewise.
* tests/test-setenv.c: New file.
* tests/test-unsetenv.c: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-11-16 20:39:14 -07:00
Jim Meyering
42d1eda5dc many *.m4 files: improve m4 quoting
99% of this change was performed by running the following commands:
git ls-files | grep '\.m4$' | xargs perl -pi \
  -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
  -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
  -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
  -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4

The remainder were to add Copyright dates, increment serial numbers,
undo some changes in comments, exclude m4/intl.m4, and add quotes
around the "1" in ",1" where the unusual spacing prohibited the
above regexps from doing the job.  For more details, see
<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
2009-01-14 11:24:37 +01:00
Bruno Haible
22eb7728a2 New module 'environ'. 2008-02-24 16:40:15 +01:00
Bruno Haible
81e61b220d Split setenv module into setenv and unsetenv. Get rid of setenv.h. 2007-12-26 16:20:10 +01:00
Bruno Haible
4438170652 Make it possible to compile setenv.c separately, unconditionally. 2007-03-03 19:42:31 +00:00
Bruno Haible
ed73a419e1 Split gt_FUNC_SETENV into gl_FUNC_SETENV and gl_FUNC_UNSETENV. 2007-03-03 19:10:05 +00:00
Bruno Haible
152216017a Assume errno.h declares errno. 2006-06-17 16:10:06 +00:00
Bruno Haible
52aceb00a8 Use an all-permissive copyright notice, recommended by RMS. 2005-01-18 13:07:56 +00:00
Bruno Haible
915849390e Provide a return value for unsetenv() if the system doesn't. 2004-11-02 12:29:39 +00:00
Bruno Haible
7dd7a67c1f Assume ANSI C <string.h>, <stdlib.h>. 2003-09-10 14:16:32 +00:00
Bruno Haible
e059c2358a An independent .m4 file for each module. 2002-12-31 13:43:06 +00:00
Bruno Haible
a0483c10aa Prerequisites of lib/setenv.c and lib/unsetenv.c. 2002-12-11 20:16:29 +00:00