mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-09-01 02:34:55 +00:00
New file: lib/idcache.h
* NEWS: Mention the addition. * modules/idcache (Files): Add lib/idcache.h * lib/idcache.c: Include "idcache.h". Don't include <sys/types.h>. Add a FIXME comment. Move file-scoped "static" declarations to the top. * lib/idcache.h: New file. Include <sys/types.h> here, instead.
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
2007-08-18 Jim Meyering <jim@meyering.net>
|
||||
|
||||
New file: lib/idcache.h
|
||||
* NEWS: Mention the addition.
|
||||
* modules/idcache (Files): Add lib/idcache.h
|
||||
* lib/idcache.c: Include "idcache.h".
|
||||
Don't include <sys/types.h>.
|
||||
Add a FIXME comment.
|
||||
Move file-scoped "static" declarations to the top.
|
||||
* lib/idcache.h: New file. Include <sys/types.h> here, instead.
|
||||
|
||||
2007-08-17 Bruno Haible <bruno@clisp.org>
|
||||
and Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ User visible incompatible changes
|
||||
|
||||
Date Modules Changes
|
||||
|
||||
2007-08-18 idcache Now provides prototypes in "idcache.h".
|
||||
|
||||
2007-08-10 xstrtol The STRTOL_FATAL_ERROR macro is removed.
|
||||
Use the new xstrtol_fatal function instead.
|
||||
|
||||
|
||||
+15
-8
@@ -1,6 +1,6 @@
|
||||
/* idcache.c -- map user and group IDs, cached for speed
|
||||
|
||||
Copyright (C) 1985, 1988, 1989, 1990, 1997, 1998, 2003, 2005, 2006
|
||||
Copyright (C) 1985, 1988, 1989, 1990, 1997, 1998, 2003, 2005-2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -19,10 +19,10 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "idcache.h"
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
|
||||
@@ -45,11 +45,24 @@ struct userid
|
||||
char name[FLEXIBLE_ARRAY_MEMBER];
|
||||
};
|
||||
|
||||
/* FIXME: provide a function to free any malloc'd storage and reset lists,
|
||||
so that an application can use code like this just before exiting:
|
||||
#ifdef lint
|
||||
idcache_clear ();
|
||||
#endif
|
||||
*/
|
||||
|
||||
static struct userid *user_alist;
|
||||
|
||||
/* Each entry on list is a user name for which the first lookup failed. */
|
||||
static struct userid *nouser_alist;
|
||||
|
||||
/* Use the same struct as for userids. */
|
||||
static struct userid *group_alist;
|
||||
|
||||
/* Each entry on list is a group name for which the first lookup failed. */
|
||||
static struct userid *nogroup_alist;
|
||||
|
||||
/* Translate UID to a login name, with cache, or NULL if unresolved. */
|
||||
|
||||
char *
|
||||
@@ -132,12 +145,6 @@ getuidbyname (const char *user)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Use the same struct as for userids. */
|
||||
static struct userid *group_alist;
|
||||
|
||||
/* Each entry on list is a group name for which the first lookup failed. */
|
||||
static struct userid *nogroup_alist;
|
||||
|
||||
/* Translate GID to a group name, with cache, or NULL if unresolved. */
|
||||
|
||||
char *
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef IDCACHE_H
|
||||
# define IDCACHE_H 1
|
||||
|
||||
# include <sys/types.h>
|
||||
|
||||
extern char *getuser (uid_t uid);
|
||||
extern char *getgroup (gid_t gid);
|
||||
extern uid_t *getuidbyname (const char *user);
|
||||
extern gid_t *getgidbyname (const char *group);
|
||||
|
||||
#endif
|
||||
@@ -3,6 +3,7 @@ Username <--> uid and groupname <--> gid conversions, with cache for speed.
|
||||
|
||||
Files:
|
||||
lib/idcache.c
|
||||
lib/idcache.h
|
||||
m4/idcache.m4
|
||||
|
||||
Depends-on:
|
||||
|
||||
Reference in New Issue
Block a user