summaryrefslogtreecommitdiff
path: root/modules/group-member
Commit message (Collapse)AuthorAgeFilesLines
* group-member: Relicense under LGPLv2+.Bruno Haible2020-05-211-1/+1
| | | | | | | | | | | Jim Meyering's approval is in <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>. Paul Eggert's approval is in <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>. Eric Blake's approval is in <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>. * modules/group-member (License): Change to LGPLv2+.
* group-member: omit unnecessary dependenciesPaul Eggert2012-10-121-3/+2
| | | | | | | | | | | | | | | | | | 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.
* group-member: Move AC_LIBOBJ invocations to module description.Bruno Haible2011-06-161-0/+4
| | | | | | * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Set HAVE_GROUP_MEMBER. Move AC_LIBOBJ and gl_PREREQ_GROUP_MEMBER invocations from here... * modules/group-member (configure.ac): ... to here.
* group-member: Declare function in <unistd.h>.Bruno Haible2011-05-121-5/+6
| | | | | | | | | | | | | | | | | | | | * 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.
* getgroups: don't expose GETGROUPS_T to userEric Blake2009-11-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.Eric Blake2007-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* gnulib-tool now synthesizes the EXTRA_DIST line.Bruno Haible2006-10-131-1/+0
|
* Distribute all lib/* source files through EXTRA_DIST.Bruno Haible2006-10-121-1/+1
|
* Avoid the need for AC_LIBSOURCES in m4 macros.Paul Eggert2006-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Remove lib_SOURCES line from Makefile.am section of modules where thisPaul Eggert2005-03-211-2/+0
| | | | is now done automatically by the corresponding Autoconf macro.
* Add a license tag to every module.Bruno Haible2004-09-221-0/+3
|
* Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.Jim Meyering2004-04-181-1/+1
|
* Revamp xalloc_oversized so that its count arg need not fit into size_t.Paul Eggert2003-10-301-0/+1
| | | | Fix up group-member, quotearg accordingly.
* Add a Maintainer.Bruno Haible2003-01-201-0/+3
|
* Add module descriptions.Bruno Haible2003-01-131-0/+1
|
* Module description.Bruno Haible2002-12-311-0/+19