- scan_types(lc, (MSGS *)(item->value), item->code, NULL, NULL);
- break;
- case MD_OPERATOR: /* send to operator */
- case MD_DIRECTOR: /* send to Director */
- case MD_MAIL: /* mail */
- case MD_MAIL_ON_ERROR: /* mail if Job errors */
- if (item->code == MD_OPERATOR) {
- cmd = res_all.res_msgs.operator_cmd;
- } else {
- cmd = res_all.res_msgs.mail_cmd;
- }
- dest = get_pool_memory(PM_MESSAGE);
- dest[0] = 0;
- dest_len = 0;
- /* Pick up comma separated list of destinations */
- for ( ;; ) {
- token = lex_get_token(lc, T_NAME); /* scan destination */
- dest = check_pool_memory_size(dest, dest_len + lc->str_len + 2);
- if (dest[0] != 0) {
- pm_strcat(&dest, " "); /* separate multiple destinations with space */
- dest_len++;
- }
- pm_strcat(&dest, lc->str);
- dest_len += lc->str_len;
- Dmsg2(100, "store_msgs newdest=%s: dest=%s:\n", lc->str, NPRT(dest));
- token = lex_get_token(lc, T_ALL);
- if (token == T_COMMA) {
- continue; /* get another destination */
- }
- if (token != T_EQUALS) {
- scan_err1(lc, _("expected an =, got: %s"), lc->str);
- }
- break;
- }
- Dmsg1(300, "mail_cmd=%s\n", NPRT(cmd));
- scan_types(lc, (MSGS *)(item->value), item->code, dest, cmd);
- free_pool_memory(dest);
- Dmsg0(300, "done with dest codes\n");
- break;
- case MD_FILE: /* file */
- case MD_APPEND: /* append */
- dest = get_pool_memory(PM_MESSAGE);
- /* Pick up a single destination */
- token = lex_get_token(lc, T_NAME); /* scan destination */
- pm_strcpy(&dest, lc->str);
- dest_len = lc->str_len;
- token = lex_get_token(lc, T_ALL);
- Dmsg1(300, "store_msgs dest=%s:\n", NPRT(dest));
- if (token != T_EQUALS) {
- scan_err1(lc, _("expected an =, got: %s"), lc->str);
- }
- scan_types(lc, (MSGS *)(item->value), item->code, dest, NULL);
- free_pool_memory(dest);
- Dmsg0(300, "done with dest codes\n");
- break;
+ case MD_CATALOG:
+ scan_types(lc, (MSGS *)(item->value), item->code, NULL, NULL);
+ break;
+ case MD_OPERATOR: /* send to operator */
+ case MD_DIRECTOR: /* send to Director */
+ case MD_MAIL: /* mail */
+ case MD_MAIL_ON_ERROR: /* mail if Job errors */
+ case MD_MAIL_ON_SUCCESS: /* mail if Job succeeds */
+ if (item->code == MD_OPERATOR) {
+ cmd = res_all.res_msgs.operator_cmd;
+ } else {
+ cmd = res_all.res_msgs.mail_cmd;
+ }
+ dest = get_pool_memory(PM_MESSAGE);
+ dest[0] = 0;
+ dest_len = 0;
+ /* Pick up comma separated list of destinations */
+ for ( ;; ) {
+ token = lex_get_token(lc, T_NAME); /* scan destination */
+ dest = check_pool_memory_size(dest, dest_len + lc->str_len + 2);
+ if (dest[0] != 0) {
+ pm_strcat(dest, " "); /* separate multiple destinations with space */
+ dest_len++;
+ }
+ pm_strcat(dest, lc->str);
+ dest_len += lc->str_len;
+ Dmsg2(900, "store_msgs newdest=%s: dest=%s:\n", lc->str, NPRT(dest));
+ token = lex_get_token(lc, T_SKIP_EOL);
+ if (token == T_COMMA) {
+ continue; /* get another destination */
+ }
+ if (token != T_EQUALS) {
+ scan_err1(lc, _("expected an =, got: %s"), lc->str);
+ }
+ break;
+ }
+ Dmsg1(900, "mail_cmd=%s\n", NPRT(cmd));
+ scan_types(lc, (MSGS *)(item->value), item->code, dest, cmd);
+ free_pool_memory(dest);
+ Dmsg0(900, "done with dest codes\n");
+ break;
+ case MD_FILE: /* file */
+ case MD_APPEND: /* append */
+ dest = get_pool_memory(PM_MESSAGE);
+ /* Pick up a single destination */
+ token = lex_get_token(lc, T_NAME); /* scan destination */
+ pm_strcpy(dest, lc->str);
+ dest_len = lc->str_len;
+ token = lex_get_token(lc, T_SKIP_EOL);
+ Dmsg1(900, "store_msgs dest=%s:\n", NPRT(dest));
+ if (token != T_EQUALS) {
+ scan_err1(lc, _("expected an =, got: %s"), lc->str);
+ }
+ scan_types(lc, (MSGS *)(item->value), item->code, dest, NULL);
+ free_pool_memory(dest);
+ Dmsg0(900, "done with dest codes\n");
+ break;