summaryrefslogtreecommitdiff
path: root/nss/XXX-lookup.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-26 15:46:01 +0000
committerRoland McGrath <roland@gnu.org>1996-06-26 15:46:01 +0000
commitbba7bb78f3bc3be2dacafc336d1342fcc5c57489 (patch)
tree6afde133640ee2d36b719114c6bf24cc1341e4f9 /nss/XXX-lookup.c
parentbe64fe6d86300687968ad072e8d7e15892386b5a (diff)
downloadglibc-bba7bb78f3bc3be2dacafc336d1342fcc5c57489.tar.gz
Wed Jun 26 01:58:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/nss_files/files-parse.c (parse_list): Count null in EOL calc. Move DB code into separate -ldb library. * db/Makefile (extra-libs): New variable, list libdb. (routines): Renamed to libdb-routines. * shlib-versions: Add libdb=2. * nss/network-lookup.c (DEFAULT_CONFIG): New macro. * nss/host-lookup.c (DEFAULT_CONFIG): New macro. * nss/nsswitch.c (nss_parse_service_list): Use __strncasecmp instead of strncasecmp. Extend syntax to grok [!foo=bar]. * sysdeps/generic/strncase.c: Define __strncasecmp with strncasecmp as weak alias. * string/string.h: Declare __strncasecmp. * nss/nsswitch.c (nss_parse_file): Call __getline, not getline. (service_alias): Variable removed. (nss_parse_service_list): New function, broken out of nss_getline. Remove alias conversion; we will just use symlinks. (__nss_database_lookup): Take new string arg DEFCONFIG. If no entry exists, make one with service list parsed from that. * nss/nsswitch.h: Update protocol for __nss_database_lookup. * nss/XXX-lookup.c (DEFAULT_CONFIG): New macro, set to 0 if undefined. (DB_LOOKUP_FCT): Pass it to _nss_database_lookup. * grp/initgroups.c: Rewritten using getgrent. Handle unlimited group list size. * sunrpc/xdr.c (xdr_int): #if 0 out unresolved references in dead code. Wed Jun 26 01:56:50 1996 Ulrich Drepper <drepper@cygnus.com> * locale/programs/locale.c (long_options): Short form of --version option is `-V'. (main): Recognize `-V' as option, not `-v'. Call `usage' instead of printing error message for illegal option. (usage): Document `-V'.
Diffstat (limited to 'nss/XXX-lookup.c')
-rw-r--r--nss/XXX-lookup.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/nss/XXX-lookup.c b/nss/XXX-lookup.c
index 1f8cbbf015..4a2d25cb42 100644
--- a/nss/XXX-lookup.c
+++ b/nss/XXX-lookup.c
@@ -25,6 +25,10 @@ Boston, MA 02111-1307, USA. */
|* DATABASE_NAME - name of the database the function accesses *|
|* (e.g., hosts, servicess, ...) *|
|* *|
+|* One additional symbol may optionally be defined: *|
+|* *|
+|* DEFAULT_CONFIG - string for default conf (e.g. "dns files") *|
+|* *|
\*******************************************************************/
#define DB_LOOKUP_FCT CONCAT3_1 (__nss_, DATABASE_NAME, _lookup)
@@ -35,6 +39,9 @@ Boston, MA 02111-1307, USA. */
#define STRINGIFY1(Name) STRINGIFY2 (Name)
#define STRINGIFY2(Name) #Name
+#ifndef DEFAULT_CONFIG
+#define DEFAULT_CONFIG 0
+#endif
static service_user *database = NULL;
@@ -42,7 +49,8 @@ int
DB_LOOKUP_FCT (service_user **ni, const char *fct_name, void **fctp)
{
if (database == NULL
- && __nss_database_lookup (DATABASE_NAME_STRING, &database) < 0)
+ && __nss_database_lookup (DATABASE_NAME_STRING, DEFAULT_CONFIG,
+ &database) < 0)
return -1;
*ni = database;