int next_line = 1;
#ifdef HAVE_EDITLINE
- String homeEnv = getenv("HOME");
- String historyPath = homeEnv + "/.icinga2_history";
+ char *homeEnv = getenv("HOME");
+ String historyPath;
std::fstream historyfp;
- historyfp.open(historyPath.CStr(), std::fstream::in);
- String line;
- while (std::getline(historyfp, line.GetData()))
- add_history(line.CStr());
+ if (homeEnv) {
+ historyPath = String(homeEnv) + "/.icinga2_history";
- historyfp.close();
+ historyfp.open(historyPath.CStr(), std::fstream::in);
+
+ String line;
+ while (std::getline(historyfp, line.GetData()))
+ add_history(line.CStr());
+
+ historyfp.close();
+ }
#endif /* HAVE_EDITLINE */
l_ScriptFrame = &scriptFrame;
if (commandOnce.IsEmpty() && cline[0] != '\0') {
add_history(cline);
- historyfp.open(historyPath.CStr(), std::fstream::out | std::fstream::app);
- historyfp << cline << "\n";
- historyfp.close();
+ if (!historyPath.IsEmpty()) {
+ historyfp.open(historyPath.CStr(), std::fstream::out | std::fstream::app);
+ historyfp << cline << "\n";
+ historyfp.close();
+ }
}
line = cline;