about summary refs log tree commit diff
path: root/nscd/nscd_conf.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-03-04 01:54:09 +0000
committerUlrich Drepper <drepper@redhat.com>2008-03-04 01:54:09 +0000
commit27c377dd04f40e4d0a7e11daad059939e94d9367 (patch)
tree25141dbca8580fbb71b210108fa57457830278d8 /nscd/nscd_conf.c
parent0f749099e991ef47514bd635225a89a9c0250b80 (diff)
downloadglibc-27c377dd04f40e4d0a7e11daad059939e94d9367.tar.gz
glibc-27c377dd04f40e4d0a7e11daad059939e94d9367.tar.xz
glibc-27c377dd04f40e4d0a7e11daad059939e94d9367.zip
[BZ #5818]
	* nscd/connections.c (dbs): Add initializers for .suggested_module.
	(verify_persistent_db): Remove one unnecessary test and add a new one
	for bad configuration.
	(nscd_init): Improve error reported when persistent database cannot
	be reused.
	* nscd/nscd.h (DEFAULT_SUGGESTED_MODULE): Define.
	* nscd/nscd_conf.c (nscd_parse_file): Provide default values for
	.suggested_module and .max_db_size and case config file says the
	values are zero.
	* nscd/nscd_helper.c (get_mapping): Fail if hash table module is zero.
Diffstat (limited to 'nscd/nscd_conf.c')
-rw-r--r--nscd/nscd_conf.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/nscd/nscd_conf.c b/nscd/nscd_conf.c
index 0d5a5f2d8c..9d0ef0e43d 100644
--- a/nscd/nscd_conf.c
+++ b/nscd/nscd_conf.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998, 2000, 2003-2006, 2007 Free Software Foundation, Inc.
+/* Copyright (c) 1998, 2000, 2003-2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
 
@@ -140,7 +140,8 @@ nscd_parse_file (const char *fname, struct database_dyn dbs[lastdb])
 	{
 	  int idx = find_db (arg1);
 	  if (idx >= 0)
-	    dbs[idx].suggested_module = atol (arg2);
+	    dbs[idx].suggested_module
+	      = atol (arg2) ?: DEFAULT_SUGGESTED_MODULE;
 	}
       else if (strcmp (entry, "enable-cache") == 0)
 	{
@@ -168,7 +169,7 @@ nscd_parse_file (const char *fname, struct database_dyn dbs[lastdb])
 	{
 	  int idx = find_db (arg1);
 	  if (idx >= 0)
-	    dbs[idx].max_db_size = atol (arg2);
+	    dbs[idx].max_db_size = atol (arg2) ?: DEFAULT_MAX_DB_SIZE;
 	}
       else if (strcmp (entry, "logfile") == 0)
 	set_logfile (arg1);