centralized filename calculation
[citadel.git] / citadel / server_main.c
index 34f49d022b2c047241b1cf1a1905406182edb36b..e04fd6286acb1f54ffbbf7e317e80a7e76a3f779 100644 (file)
@@ -53,6 +53,7 @@
 #include "database.h"
 #include "housekeeping.h"
 #include "tools.h"
+#include "citadel_dirs.c"
 
 #ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
@@ -76,8 +77,6 @@ int main(int argc, char **argv)
        size_t size;
        int relh=0;
        int home=0;
-       const char* basedir;
-       char dirbuffer[PATH_MAX]="";
        char relhome[PATH_MAX]="";
        char ctdldir[PATH_MAX]=CTDLDIR;
        
@@ -141,56 +140,7 @@ int main(int argc, char **argv)
 
        }
 
-       /* calculate all our path on a central place */
-    /* where to keep our config */
-       
-#define COMPUTE_DIRECTORY(SUBDIR) memcpy(dirbuffer,SUBDIR, sizeof dirbuffer);\
-       snprintf(SUBDIR,sizeof SUBDIR,  "%s%s%s%s%s%s%s", \
-                        (home&!relh)?ctdl_home_directory:basedir, \
-             ((basedir!=ctdldir)&(home&!relh))?basedir:"/", \
-             ((basedir!=ctdldir)&(home&!relh))?"/":"", \
-                        relhome, \
-             (relhome[0]!='\0')?"/":"",\
-                        dirbuffer,\
-                        (dirbuffer[0]!='\0')?"/":"");
-
-#ifndef HAVE_ETC_DIR
-       basedir=ctdldir;
-#else
-       basedir=ETC_DIR;
-#endif
-       COMPUTE_DIRECTORY(ctdl_etc_dir);
-
-#ifndef HAVE_RUN_DIR
-       basedir=ctdldir;
-#else
-       basedir=RUN_DIR;
-#endif
-       COMPUTE_DIRECTORY(ctdl_run_dir);
-
-#ifndef HAVE_DATA_DIR
-       basedir=ctdldir;
-#else
-       basedir=DATA_DIR;
-#endif
-       COMPUTE_DIRECTORY(ctdl_bio_dir);
-       COMPUTE_DIRECTORY(ctdl_bb_dir);
-       COMPUTE_DIRECTORY(ctdl_data_dir);
-       COMPUTE_DIRECTORY(ctdl_file_dir);
-       COMPUTE_DIRECTORY(ctdl_hlp_dir);
-       COMPUTE_DIRECTORY(ctdl_image_dir);
-       COMPUTE_DIRECTORY(ctdl_info_dir);
-       COMPUTE_DIRECTORY(ctdl_message_dir);
-       COMPUTE_DIRECTORY(ctdl_usrpic_dir);
-#ifndef HAVE_SPOOL_DIR
-       basedir=ctdldir;
-#else
-       basedir=SPOOL_DIR;
-#endif
-       COMPUTE_DIRECTORY(ctdl_spool_dir);
-       COMPUTE_DIRECTORY(ctdl_netout_dir);
-       COMPUTE_DIRECTORY(ctdl_netin_dir);
-
+       calc_dirs_n_files(relh, home, relhome, ctdldir);
 
        /* daemonize, if we were asked to */
        if (running_as_daemon) {