1. 12 Oct, 2012 1 commit
    • Paul Eggert's avatar
      group-member: omit unnecessary dependencies · 4af1990a
      Paul Eggert authored
      This is for Emacs, which has its own allocator and where we
      don't want to use xalloc.
      * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
      since we no longer use xmalloc.  Do not include stdbool.h, since
      the changes below happen to remove the only use of bool.
      (GROUPBUF_SIZE): New constant.
      (struct group_info): Remove n_groups member.  Add groupbuf member.
      This lets us get the groups without using malloc, usually.
      (free_group_info, get_group_info): Adjust to this.
      (get_group_info): Return the number of groups found, or -1 on error.
      Use plain malloc not xmalloc, and treat its failure as if there
      are no groups, as the user already loses in case of error.
      (group_member): Simplify, based on changes to get_group_info.
      * modules/group-member (Depends-on): Remove dependencies on
      xalloc and stdbool.  Add dependency on xalloc-oversized.
      4af1990a
  2. 15 Jun, 2011 1 commit
  3. 12 May, 2011 1 commit
    • Bruno Haible's avatar
      group-member: Declare function in <unistd.h>. · fae7fdcf
      Bruno Haible authored
      * 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.
      fae7fdcf
  4. 13 Nov, 2009 1 commit
    • Eric Blake's avatar
      getgroups: don't expose GETGROUPS_T to user · 6e4b15b5
      Eric Blake authored
      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: 's avatarEric Blake <ebb9@byu.net>
      6e4b15b5
  5. 12 Sep, 2007 1 commit
    • Eric Blake's avatar
      Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS. · 3740c324
      Eric Blake authored
      * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
      Autoconf definition.
      * modules/euidaccess (Depends-on): Add extensions, for
      AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
      * modules/fnmatch (Depends-on): Likewise.
      * modules/getaddrinfo (Depends-on): Likewise.
      * modules/getdelim (Depends-on): Likewise.
      * modules/getline (Depends-on): Likewise.
      * modules/getsubopt (Depends-on): Likewise.
      * modules/gettext (Depends-on): Likewise.
      * modules/group-member (Depends-on): Likewise.
      * modules/mbchar (Depends-on): Likewise.
      * modules/memmem (Depends-on): Likewise.
      * modules/mempcpy (Depends-on): Likewise.
      * modules/memrchr (Depends-on): Likewise.
      * modules/pagealign_alloc (Depends-on): Likewise.
      * modules/readutmp (Depends-on): Likewise.
      * modules/stpcpy (Depends-on): Likewise.
      * modules/stpncpy (Depends-on): Likewise.
      * modules/strchrnul (Depends-on): Likewise.
      * modules/strndup (Depends-on): Likewise.
      * modules/strsep (Depends-on): Likewise.
      * modules/strverscmp (Depends-on): Likewise.
      * modules/vasprintf (Depends-on): Likewise.
      * modules/wcwidth (Depends-on): Likewise.
      * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
      obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
      * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
      * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
      * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
      * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
      * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
      * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
      * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
      * m4/mbchar.m4 (gl_MBCHAR): Likewise.
      * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
      * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
      * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
      * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
      * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
      * m4/readutmp.m4 (gl_READUTMP): Likewise.
      * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
      * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
      * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
      * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
      * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
      * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
      * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
      * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
      * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
      * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
      * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
      so that lock.m4 can be used in gettext without extensions module.
      3740c324
  6. 13 Oct, 2006 1 commit
  7. 12 Oct, 2006 1 commit
  8. 21 Aug, 2006 1 commit
    • Paul Eggert's avatar
      Avoid the need for AC_LIBSOURCES in m4 macros. · 901bc47c
      Paul Eggert authored
      * modules/acl (EXTRA_DIST): Add acl.h.
      * modules/argmatch (Files): Add m4/argmatch.m4.
      (configure.ac): Add gl_ARGMATCH.
      (EXTRA_DIST): Renamed from lib_SOURCES, for
      consistency with the other modules.  Remove argmatch.c.
      * modules/backupfile (EXTRA_DIST): Add backupfile.h.
      * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
      * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
      * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
      * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
      * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
      * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
      * modules/cloexec (EXTRA_DIST): Add cloexec.h.
      * modules/close-stream (EXTRA_DIST): Add close-stream.h.
      * modules/closeout (EXTRA_DIST): Add closeout.h.
      * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
      * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
      * modules/dirfd (EXTRA_DIST): Add dirfd.h.
      * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
      dirname.h; remove basename.c and stripslash.c.
      * modules/exclude (EXTRA_DIST): Add exclude.h.
      * modules/exitfail (EXTRA_DIST): Add exitfail.h.
      * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
      * modules/file-type (EXTRA_DIST): Add file-type.h.
      * modules/filemode (EXTRA_DIST): Add filemode.h.
      * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
      * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
      * modules/fpending (EXTRA_DIST): Add __fpending.h.
      * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
      * modules/fsusage (EXTRA_DIST): Add fsusage.h.
      * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
      * modules/getcwd (EXTRA_DIST): Add getcwd.h.
      * modules/getdate (EXTRA_DIST): Add getdate.c.
      * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
      * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
      * modules/getpass (EXTRA_DIST): Add getpass.h.
      * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
      * modules/group-member (EXTRA_DIST): Add group-member.h.
      * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
      * modules/hash (EXTRA_DIST): Add hash.h.
      * modules/human (EXTRA_DIST): Add human.h.
      * modules/inttypes (EXTRA_DIST): Add inttypes.h.
      * modules/lchmod (EXTRA_DIST): Add lchmod.h.
      * modules/lchown (EXTRA_DIST): Add lchown.h.
      * modules/long-options (EXTRA_DIST): Add long-options.h.
      * modules/lstat (EXTRA_DIST): Add lstat.h.
      * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
      * modules/memcoll (EXTRA_DIST): Add memcoll.h.
      * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
      * modules/memrchr (EXTRA_DIST): Add memrchr.h.
      * modules/memxor (EXTRA_DIST): Add memxor.h.
      * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
      * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
      * modules/mountlist (EXTRA_DIST): Add mountlist.h.
      * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
      * modules/pathmax (EXTRA_DIST): Add pathmax.h.
      * modules/physmem (EXTRA_DIST): Add physmem.h.
      * modules/posixtm (EXTRA_DIST): Add posixtm.h.
      * modules/posixver (EXTRA_DIST): Add posixver.h.
      * modules/quote (EXTRA_DIST): Add quote.h.
      * modules/quotearg (EXTRA_DIST): Add quotearg.h.
      * modules/readtokens (EXTRA_DIST): Add readtokens.h.
      * modules/readutmp (EXTRA_DIST): Add readutmp.h.
      * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c regex_internal.h regexec.c.
      * modules/safe-read (EXTRA_DIST): Add safe-read.h.
      * modules/safe-write (EXTRA_DIST): Add safe-write.h.
      * modules/same (EXTRA_DIST): Add same.h.
      * modules/same-inode (EXTRA_DIST): Add same-inode.h.
      * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
      * modules/savedir (EXTRA_DIST): Add savedir.h.
      * modules/sha1 (EXTRA_DIST): Add sha1.h.
      * modules/sig2str (EXTRA_DIST): Add sig2str.h.
      * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
      * modules/stat-time (EXTRA_DIST): Add stat-time.h.
      * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
      * modules/strdup (EXTRA_DIST): Add strdup.h.
      * modules/strftime (EXTRA_DIST): Add strftime.h.
      * modules/strndup (EXTRA_DIST): Add strndup.h.
      * modules/strnlen (EXTRA_DIST): Add strnlen.h.
      * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
      * modules/time_r (EXTRA_DIST): Add time_r.h.
      * modules/timespec (EXTRA_DIST): Add timespec.h.
      * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
      * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
      * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
      * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
      * modules/userspec (EXTRA_DIST): Add userspec.h.
      * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
      * modules/utimens (EXTRA_DIST): Add utimens.h.
      * modules/xalloc (EXTRA_DIST): Add xalloc.h.
      * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
      * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
      * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
      * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
      * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
      * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
      * modules/yesno (EXTRA_DIST): Add yesno.h.
      +
      * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
      * m4/dev-ino.m4, same-inode.m4: Remove.
      +
      * m4/_inttypes_h.m4 (gl_INTTYPES_H):
      * m4/acl.m4 (AC_FUNC_ACL):
      * m4/backupfile.m4 (gl_BACKUPFILE):
      * m4/c-strtod.m4 (gl_C99_STRTOLD):
      * m4/canon-host.m4 (gl_CANON_HOST):
      * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
      * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
      * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
      * m4/cloexec.m4 (gl_CLOEXEC):
      * m4/close-stream.m4 (gl_CLOSE_STREAM):
      * m4/closeout.m4 (gl_CLOSEOUT):
      * m4/dirfd.m4 (gl_FUNC_DIRFD):
      * m4/dirname.m4 (gl_DIRNAME):
      * m4/exclude.m4 (gl_EXCLUDE):
      * m4/exitfail.m4 (gl_EXITFAIL):
      * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
      * m4/file-type.m4 (gl_FILE_TYPE):
      * m4/filemode.m4 (gl_FILEMODE):
      * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
      * m4/fpending.m4 (gl_FUNC_FPENDING):
      * m4/fprintftime.m4 (gl_FPRINTFTIME):
      * m4/fts.m4 (gl_FUNC_FTS):
      * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
      * m4/getdate.m4 (gl_GETDATE):
      * m4/gethrxtime.m4 (gl_GETHRXTIME):
      * m4/getpagesize.m4 (gl_GETPAGESIZE):
      * m4/getpass.m4 (gl_FUNC_GETPASS):
      * m4/gettime.m4 (gl_GETTIME):
      * m4/getugroups.m4 (gl_GETUGROUPS):
      * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
      * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
      * m4/hard-locale.m4 (gl_HARD_LOCALE):
      * m4/hash.m4 (gl_HASH):
      * m4/idcache.m4 (gl_IDCACHE):
      * m4/lchmod.m4 (gl_FUNC_LCHMOD):
      * m4/lchown.m4 (gl_FUNC_LCHOWN):
      * m4/long-options.m4 (gl_LONG_OPTIONS):
      * m4/lstat.m4 (gl_FUNC_LSTAT):
      * m4/md5.m4 (gl_MD5):
      * m4/memcasecmp.m4 (gl_MEMCASECMP):
      * m4/memcoll.m4 (gl_MEMCOLL):
      * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
      * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
      * m4/memxor.m4 (gl_MEMXOR):
      * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
      * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
      * m4/modechange.m4 (gl_MODECHANGE):
      * m4/mountlist.m4 (gl_MOUNTLIST):
      * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
      * m4/openat.m4 (gl_FUNC_OPENAT):
      * m4/pathmax.m4 (gl_PATHMAX):
      * m4/physmem.m4 (gl_PHYSMEM):
      * m4/posixtm.m4 (gl_POSIXTM):
      * m4/posixver.m4 (gl_POSIXVER):
      * m4/quote.m4 (gl_QUOTE):
      * m4/quotearg.m4 (gl_QUOTEARG):
      * m4/readtokens.m4 (gl_READTOKENS):
      * m4/readutmp.m4 (gl_READUTMP):
      * m4/regex.m4 (gl_REGEX):
      * m4/safe-read.m4 (gl_SAFE_READ):
      * m4/safe-write.m4 (gl_SAFE_WRITE):
      * m4/same.m4 (gl_SAME):
      * m4/save-cwd.m4 (gl_SAVE_CWD):
      * m4/savedir.m4 (gl_SAVEDIR):
      * m4/settime.m4 (gl_SETTIME):
      * m4/sha1.m4 (gl_SHA1):
      * m4/sig2str.m4 (gl_FUNC_SIG2STR):
      * m4/stat-macros.m4 (gl_STAT_MACROS):
      * m4/stat-time.m4 (gl_STAT_TIME):
      * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
      * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
      * m4/strdup.m4 (gl_FUNC_STRDUP):
      * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
      * m4/strndup.m4 (gl_FUNC_STRNDUP):
      * m4/strnlen.m4 (gl_FUNC_STRNLEN):
      * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
      * m4/time_r.m4 (gl_TIME_R):
      * m4/timespec.m4 (gl_TIMESPEC):
      * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
      * m4/unlinkdir.m4 (gl_UNLINKDIR):
      * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
      * m4/userspec.m4 (gl_USERSPEC):
      * m4/utimecmp.m4 (gl_UTIMECMP):
      * m4/utimens.m4 (gl_UTIMENS):
      * m4/xalloc.m4 (gl_XALLOC):
      * m4/xgetcwd.m4 (gl_XGETCWD):
      * m4/xnanosleep.m4 (gl_XNANOSLEEP):
      * m4/xreadlink.m4 (gl_XREADLINK):
      * m4/xstrtod.m4 (gl_XSTRTOD):
      * m2/yesno.m4 (gl_YESNO):
      Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
      to get the necessary .h files and whatnot.
      901bc47c
  9. 21 Mar, 2005 1 commit
  10. 22 Sep, 2004 1 commit
  11. 18 Apr, 2004 1 commit
  12. 30 Oct, 2003 1 commit
  13. 20 Jan, 2003 1 commit
  14. 13 Jan, 2003 1 commit
  15. 31 Dec, 2002 1 commit