+ /* 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);
+
+