X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fsendcommand.c;h=5e80465a9abe31db3334809884221b5d922e1137;hb=1248e88ae490d17b4896ada5a74a0a9ea23b365c;hp=fdbc88d68e46cb9659bb0dbc2769894c1161a7a1;hpb=e612033104c17c8adcad19d7dc8efbafa8b33f2e;p=citadel.git diff --git a/citadel/sendcommand.c b/citadel/sendcommand.c index fdbc88d68..5e80465a9 100644 --- a/citadel/sendcommand.c +++ b/citadel/sendcommand.c @@ -143,6 +143,11 @@ int main(int argc, char **argv) char cmd[SIZ]; char buf[SIZ]; + int relh=0; + int home=0; + char relhome[PATH_MAX]=""; + char ctdldir[PATH_MAX]=CTDLDIR; + strcpy(ctdl_home_directory, DEFAULT_PORT); strcpy(cmd, ""); @@ -151,9 +156,14 @@ int main(int argc, char **argv) */ for (a = 1; a < argc; ++a) { if (!strncmp(argv[a], "-h", 2)) { - strcpy(ctdl_home_directory, argv[a]); - strcpy(ctdl_home_directory, &ctdl_home_directory[2]); + relh=argv[a][2]!='/'; + if (!relh) safestrncpy(ctdl_home_directory, &argv[a][2], + sizeof ctdl_home_directory); + else + safestrncpy(relhome, &argv[a][2], + sizeof relhome); home_specified = 1; + home=1; } else { if (strlen(cmd) > 0) strcat(cmd, " "); @@ -161,6 +171,7 @@ int main(int argc, char **argv) } } + calc_dirs_n_files(relh, home, relhome, ctdldir); get_config(); signal(SIGINT, cleanup);