summaryrefslogtreecommitdiff
path: root/command.h
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2011-12-07 09:24:08 -0500
committerChet Ramey <chet.ramey@case.edu>2011-12-07 09:24:08 -0500
commit8943768b87f00cb5ce36f5aa494471c9a9e09652 (patch)
tree562121ba8813afd57ed4a02e262bbd903e7693b3 /command.h
parent33fe8777ceb37428666ade0fa64dbac94d6b8fe5 (diff)
downloadbash-8943768b87f00cb5ce36f5aa494471c9a9e09652.tar.gz
commit bash-20080522 snapshot
Diffstat (limited to 'command.h')
-rw-r--r--command.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/command.h b/command.h
index d90a2eac..2cbae8e7 100644
--- a/command.h
+++ b/command.h
@@ -31,7 +31,8 @@ enum r_instruction {
r_duplicating_input, r_duplicating_output, r_deblank_reading_until,
r_close_this, r_err_and_out, r_input_output, r_output_force,
r_duplicating_input_word, r_duplicating_output_word,
- r_move_input, r_move_output, r_move_input_word, r_move_output_word
+ r_move_input, r_move_output, r_move_input_word, r_move_output_word,
+ r_append_err_and_out
};
/* Redirection errors. */
@@ -44,7 +45,7 @@ enum r_instruction {
(ri == r_output_direction || ri == r_err_and_out)
#define OUTPUT_REDIRECT(ri) \
- (ri == r_output_direction || ri == r_input_output || ri == r_err_and_out)
+ (ri == r_output_direction || ri == r_input_output || ri == r_err_and_out || ri == r_append_err_and_out)
#define INPUT_REDIRECT(ri) \
(ri == r_input_direction || ri == r_inputa_direction || ri == r_input_output)
@@ -54,6 +55,7 @@ enum r_instruction {
ri == r_input_output || \
ri == r_err_and_out || \
ri == r_appending_to || \
+ ri == r_append_err_and_out || \
ri == r_output_force)
/* redirection needs translation */
@@ -89,6 +91,7 @@ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select,
#define W_DQUOTE 0x080000 /* word should be treated as if double-quoted */
#define W_NOPROCSUB 0x100000 /* don't perform process substitution */
#define W_HASCTLESC 0x200000 /* word contains literal CTLESC characters */
+#define W_ASSIGNASSOC 0x400000 /* word looks like associative array assignment */
/* Possible values for subshell_environment */
#define SUBSHELL_ASYNC 0x01 /* subshell caused by `command &' */
@@ -97,6 +100,7 @@ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select,
#define SUBSHELL_FORK 0x08 /* subshell caused by executing a disk command */
#define SUBSHELL_PIPE 0x10 /* subshell from a pipeline element */
#define SUBSHELL_PROCSUB 0x20 /* subshell caused by <(command) or >(command) */
+#define SUBSHELL_COPROC 0x40 /* subshell from a coproc pipeline */
/* A structure which represents a word. */
typedef struct word_desc {
@@ -200,6 +204,10 @@ typedef struct connection {
/* Structures used to represent the CASE command. */
+/* Values for FLAGS word in a PATTERN_LIST */
+#define CASEPAT_FALLTHROUGH 0x01
+#define CASEPAT_TESTNEXT 0x02
+
/* Pattern/action structure for CASE_COM. */
typedef struct pattern_list {
struct pattern_list *next; /* Clause to try in case this one failed. */