diff --git a/src/switch.c b/src/switch.c index 89a23b75c7..5f0c9d82b3 100644 --- a/src/switch.c +++ b/src/switch.c @@ -501,7 +501,7 @@ int main(int argc, char *argv[]) char *local_argv[1024] = { 0 }; int local_argc = argc; char *arg_argv[128] = { 0 }; - int alt_dirs = 0, log_set = 0, run_set = 0, do_kill = 0; + int alt_dirs = 0, alt_base = 0, log_set = 0, run_set = 0, do_kill = 0; int priority = 0; #ifdef __sun switch_core_flag_t flags = SCF_USE_SQL; @@ -880,6 +880,7 @@ int main(int argc, char *argv[]) return 255; } strcpy(SWITCH_GLOBAL_dirs.base_dir, local_argv[x]); + alt_base = 1; } else if (!strcmp(local_argv[x], "-temp")) { @@ -1028,7 +1029,7 @@ int main(int argc, char *argv[]) return 255; } - if (alt_dirs && alt_dirs != 3) { + if (alt_dirs && alt_dirs != 3 && !alt_base) { fprintf(stderr, "You must specify all or none of -conf, -log, and -db\n"); return 255; }