]> arthur.barton.de Git - netatalk.git/blobdiff - etc/cnid_dbd/db_param.c
Set version to 2.1
[netatalk.git] / etc / cnid_dbd / db_param.c
index f291ed188a5e25cb42cc80aa4b2814ca272f35d0..029c21b00124ecafca0615c6cb30f1e1978e2bb7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: db_param.c,v 1.7 2009-10-19 05:02:35 didg Exp $
+ * $Id: db_param.c,v 1.9 2009-11-23 19:04:14 franklahm Exp $
  *
  * Copyright (C) Joerg Lenneis 2003
  * Copyright (c) Frank Lahm 2009
 #include "config.h"
 #endif /* HAVE_CONFIG_H */
 
-#ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
+#include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <errno.h>
 #define MAXKEYLEN         64
 
 #define DEFAULT_LOGFILE_AUTOREMOVE 1
-#define DEFAULT_CACHESIZE          8 * 1024 
-#define DEFAULT_FLUSH_FREQUENCY    100
+#define DEFAULT_CACHESIZE          (8 * 1024)
+#define DEFAULT_FLUSH_FREQUENCY    1000
 #define DEFAULT_FLUSH_INTERVAL     1800
 #define DEFAULT_USOCK_FILE         "usock"
 #define DEFAULT_FD_TABLE_SIZE      512
-#define DEFAULT_IDLE_TIMEOUT       10 * 60
+#define DEFAULT_IDLE_TIMEOUT       (10 * 60)
 
 static struct db_param params;
 static int parse_err;
@@ -186,8 +182,22 @@ struct db_param *db_param_read(char *dir, enum identity id)
     }
 
     fclose(fp);
-    if (! parse_err)
+    if (! parse_err) {
+        /* sanity checks */
+        if (params.flush_frequency <= 0) 
+            params.flush_frequency = 86400;
+
+        if (params.flush_interval <= 0)
+            params.flush_interval = 1000000;
+
+        if (params.fd_table_size <= 2)
+            params.fd_table_size = 32;
+
+        if (params.idle_timeout <= 0)
+            params.idle_timeout = 86400;
+
         return &params;
+    }
     else
         return NULL;
 }