int log_uuid;
int log_uuid_length;
int quiet;
+ int use_history_file;
int batch_mode;
char prompt_color[12];
char input_text_color[12];
esl_set_string(profiles[pcount].prompt_color, prompt_color);
esl_set_string(profiles[pcount].input_text_color, input_text_color);
esl_set_string(profiles[pcount].output_text_color, output_text_color);
+ profiles[pcount].use_history_file = 1;
esl_log(ESL_LOG_DEBUG, "Found Profile [%s]\n", profiles[pcount].name);
pcount++;
}
}
} else if(!strcasecmp(var, "quiet")) {
profiles[pcount-1].quiet = esl_true(val);
+ } else if(!strcasecmp(var, "no-history-file")) {
+ profiles[pcount-1].use_history_file = !esl_true(val);
} else if(!strcasecmp(var, "prompt-color")) {
esl_set_string(profiles[pcount-1].prompt_color, match_color(val));
} else if(!strcasecmp(var, "input-text-color")) {
const char *line = NULL;
char cmd_str[1024] = "";
cli_profile_t *profile = NULL;
+ int argv_use_history_file = 1;
+ int use_history_file = 0;
#ifndef WIN32
char hfile[512] = "/tmp/fs_cli_history";
char cfile[512] = "/etc/fs_cli.conf";
{"log-uuid-short", 0, 0, 'S'},
{"quiet", 0, 0, 'q'},
{"batchmode", 0, 0, 'b'},
+ {"no-history-file", 0, 0, 'Q'},
{"retry", 0, 0, 'r'},
{"interrupt", 0, 0, 'i'},
{"reconnect", 0, 0, 'R'},
esl_set_string(internal_profile.prompt_color, prompt_color);
esl_set_string(internal_profile.input_text_color, input_text_color);
esl_set_string(internal_profile.output_text_color, output_text_color);
+ internal_profile.use_history_file = 1;
if (home) {
snprintf(hfile, sizeof(hfile), "%s/.fs_cli_history", home);
snprintf(cfile, sizeof(cfile), "%s/.fs_cli_conf", home);
esl_global_set_default_logger(6); /* default debug level to 6 (info) */
for(;;) {
int option_index = 0;
- opt = getopt_long(argc, argv, "H:P:u:p:d:x:l:USt:T:qrRhib?n", options, &option_index);
+ opt = getopt_long(argc, argv, "H:P:u:p:d:x:l:USt:T:qQrRhib?n", options, &option_index);
if (opt == -1) break;
switch (opt) {
case 'H':
case 'b':
argv_batch = 1;
break;
+ case 'Q':
+ argv_use_history_file = 0;
+ break;
case 'i':
allow_ctl_c = 1;
break;
profile->batch_mode = 1;
feature_level=0;
}
+ if (argv_use_history_file && profile->use_history_file) {
+ use_history_file = 1;
+ }
if (*argv_loglevel) {
esl_set_string(profile->loglevel, argv_loglevel);
profile->quiet = 0;
}
history(myhistory, &ev, H_SETSIZE, 800);
el_set(el, EL_HIST, history, myhistory);
- history(myhistory, &ev, H_LOAD, hfile);
+ if (use_history_file) history(myhistory, &ev, H_LOAD, hfile);
el_source(el, NULL);
#endif
#ifdef WIN32
}
#ifdef HAVE_LIBEDIT
done:
- history(myhistory, &ev, H_SAVE, hfile);
+ if (use_history_file) history(myhistory, &ev, H_SAVE, hfile);
history_end(myhistory);
el_end(el);
#endif