diff options
author | Luke Leighton <lkcl@samba.org> | 1999-05-06 18:13:23 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-05-06 18:13:23 +0000 |
commit | 48c3765a9884ffa9cf8ff2e9f1412b027c2b18ee (patch) | |
tree | 1a7108df0daae0c3fb3b91cab37605f63f840a66 | |
parent | 150645f955d1f15b0ea43069020070424f774521 (diff) | |
download | samba-48c3765a9884ffa9cf8ff2e9f1412b027c2b18ee.tar.gz samba-48c3765a9884ffa9cf8ff2e9f1412b027c2b18ee.tar.bz2 samba-48c3765a9884ffa9cf8ff2e9f1412b027c2b18ee.zip |
clean-up of cache-getpw-hash code needed (make proto showed up loads
of functions that should be static).
(This used to be commit 06fce76e535f151ff819210faf39dd77b9fcae08)
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rw-r--r-- | source3/lib/username.c | 25 |
2 files changed, 15 insertions, 13 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index b12787fecb..12958baa3a 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -382,6 +382,8 @@ void unbecome_unix_root_sec_ctxt(void); /*The following definitions come from lib/username.c */ +struct passwd *hashed_getpwnam(const char *name); +char *uidtoname(uid_t uid); char *get_home_dir(char *user); BOOL map_username(char *user); struct passwd *Get_Pwnam(char *user,BOOL allow_change); @@ -448,7 +450,6 @@ BOOL process_exists(int pid); int get_unixgroups(char *user, uid_t uid, gid_t gid, int *p_ngroups, gid_t **p_groups); BOOL get_unix_grps(int *p_ngroups, struct group **p_groups); void free_unix_grps(int ngroups, struct group *p_groups); -char *uidtoname(uid_t uid); char *gidtoname(gid_t gid); BOOL nametogid(const char *name, gid_t *gid); BOOL nametouid(const char *name, uid_t *uid); diff --git a/source3/lib/username.c b/source3/lib/username.c index 4daf30fdd4..ef172b63de 100644 --- a/source3/lib/username.c +++ b/source3/lib/username.c @@ -51,7 +51,7 @@ struct passwd_hash_table_s { NULL,0,NULL,NULL,NULL,0,{0,0} }; -int name_hash_function(const char *name) +static int name_hash_function(const char *name) { /* I guess that there must be better hash functions. This one was the * first to come into mind :) */ @@ -65,13 +65,13 @@ int name_hash_function(const char *name) return value; } -int uid_hash_function(uid_t uid) +static int uid_hash_function(uid_t uid) { return uid%PASSWD_HASH_SIZE; } -BOOL build_passwd_hash_table() +static BOOL build_passwd_hash_table(void) { struct passwd_hash_table_s *pht=&passwd_hash_table; /* Convenience */ int num_passwds=0; @@ -213,7 +213,8 @@ BOOL build_passwd_hash_table() return False; } -BOOL have_passwd_hash() { +static BOOL have_passwd_hash(void) +{ struct passwd_hash_table_s *pht=&passwd_hash_table; struct timeval tv; GetTimeOfDay(&tv); @@ -233,9 +234,9 @@ struct passwd *hashed_getpwnam(const char *name) if (have_passwd_hash()) { int name_i=name_hash_function(name); - int index=pht->names[name_i]; - while(index!=-1) { - struct passwd *pass=&pht->passwds[pht->entries[index].entry]; + int hash_index=pht->names[name_i]; + while(hash_index!=-1) { + struct passwd *pass=&pht->passwds[pht->entries[hash_index].entry]; if (strcmp(name,pass->pw_name)==0) { DEBUG(5,("Found: %s:%s:%d:%d:%s:%s:%s\n", pass->pw_name, @@ -247,7 +248,7 @@ struct passwd *hashed_getpwnam(const char *name) pass->pw_shell)); return pass; } - index=pht->entries[index].next; + hash_index=pht->entries[hash_index].next; } /* Not found */ @@ -269,9 +270,9 @@ char *uidtoname(uid_t uid) DEBUG(5,("uidtoname(%d)\n",uid)); if (have_passwd_hash()) { - int index=pht->uids[uid_hash_function(uid)]; - while(index!=-1) { - pass=&pht->passwds[pht->entries[index].entry]; + int hash_index=pht->uids[uid_hash_function(uid)]; + while(hash_index!=-1) { + pass=&pht->passwds[pht->entries[hash_index].entry]; if (pass->pw_uid==uid) { DEBUG(5,("Found: %s:%s:%d:%d:%s:%s:%s\n", pass->pw_name, @@ -283,7 +284,7 @@ char *uidtoname(uid_t uid) pass->pw_shell)); return pass->pw_name; } - index=pht->entries[index].next; + hash_index=pht->entries[hash_index].next; } DEBUG(5,("Hash miss")); pass=NULL; |