for (i=0; fd_cmds[i].cmd; i++) {
if (strncmp(fd_cmds[i].cmd, fd->msg, strlen(fd_cmds[i].cmd)) == 0) {
found = true; /* indicate command found */
+ jcr->errmsg[0] = 0;
if (!fd_cmds[i].func(jcr) || job_canceled(jcr)) { /* do command */
+ /* Note fd->msg command may be destroyed by comm activity */
+ if (jcr->errmsg[0]) {
+ Jmsg1(jcr, M_FATAL, 0, _("Command error with FD, hanging up. %s\n"),
+ jcr->errmsg);
+ } else {
+ Jmsg0(jcr, M_FATAL, 0, _("Command error with FD, hanging up.\n"));
+ }
set_jcr_job_status(jcr, JS_ErrorTerminated);
quit = true;
}
}
}
if (!found) { /* command not found */
+ Jmsg1(jcr, M_FATAL, 0, _("FD command not found: %s\n"), fd->msg);
Dmsg1(110, "<filed: Command not found: %s\n", fd->msg);
fd->fsend(ferrmsg);
break;
if (do_append_data(jcr)) {
return true;
} else {
+ pm_strcpy(jcr->errmsg, _("Append data error.\n"));
bnet_suppress_error_messages(fd, 1); /* ignore errors at this point */
fd->fsend(ERROR_append);
}
} else {
+ pm_strcpy(jcr->errmsg, _("Attempt to append on non-open session.\n"));
fd->fsend(NOT_opened);
}
return false;
Dmsg1(120, "store<file: %s", fd->msg);
if (!jcr->session_opened) {
+ pm_strcpy(jcr->errmsg, _("Attempt to close non-open session.\n"));
fd->fsend(NOT_opened);
return false;
}
Dmsg1(120, "Append open session: %s", fd->msg);
if (jcr->session_opened) {
+ pm_strcpy(jcr->errmsg, _("Attempt to open already open session.\n"));
fd->fsend(NO_open);
return false;
}
Dmsg1(120, "<filed: %s", fd->msg);
if (!jcr->session_opened) {
+ pm_strcpy(jcr->errmsg, _("Attempt to close non-open session.\n"));
fd->fsend(NOT_opened);
return false;
}
Dmsg1(120, "<bfiled: %s", fd->msg);
return do_read_data(jcr);
} else {
+ pm_strcpy(jcr->errmsg, _("Attempt to read on non-open session.\n"));
fd->fsend(NOT_opened);
return false;
}
Dmsg1(120, "%s\n", fd->msg);
if (jcr->session_opened) {
+ pm_strcpy(jcr->errmsg, _("Attempt to open read on non-open session.\n"));
fd->fsend(NO_open);
return false;
}
&jcr->read_VolSessionTime, &jcr->read_StartFile, &jcr->read_EndFile,
&jcr->read_StartBlock, &jcr->read_EndBlock) == 7) {
if (jcr->session_opened) {
+ pm_strcpy(jcr->errmsg, _("Attempt to open read on non-open session.\n"));
fd->fsend(NOT_opened);
return false;
}