diff options
Diffstat (limited to 'src/comp.c')
-rw-r--r-- | src/comp.c | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -663,13 +663,19 @@ component_verify (struct component *comp, grecs_locus_t *locus) | |||
663 | COMPERR (grecs_error, "%s", _("wait is useless in this mode")); | 663 | COMPERR (grecs_error, "%s", _("wait is useless in this mode")); |
664 | comp->flags &= ~CF_WAIT; | 664 | comp->flags &= ~CF_WAIT; |
665 | } | 665 | } |
666 | 666 | ||
667 | if (comp->mode != pies_comp_exec | 667 | switch (comp->mode) |
668 | && comp->redir[RETR_OUT].type != redir_null) | ||
669 | { | 668 | { |
670 | COMPERR (grecs_error, | 669 | case pies_comp_accept: |
671 | "%s", _("stdout redirection invalid in this mode")); | 670 | case pies_comp_inetd: |
672 | comp->redir[RETR_OUT].type = redir_null; | 671 | if (comp->redir[RETR_OUT].type != redir_null) |
672 | { | ||
673 | COMPERR (grecs_error, | ||
674 | "%s", _("stdout redirection invalid in this mode")); | ||
675 | comp->redir[RETR_OUT].type = redir_null; | ||
676 | } | ||
677 | default: | ||
678 | break; | ||
673 | } | 679 | } |
674 | 680 | ||
675 | for (i = RETR_OUT; i <= RETR_ERR; i++) | 681 | for (i = RETR_OUT; i <= RETR_ERR; i++) |