summaryrefslogtreecommitdiff
path: root/y.tab.c
diff options
context:
space:
mode:
authorJari Aalto <jari.aalto@cante.net>1997-09-22 20:22:27 +0000
committerJari Aalto <jari.aalto@cante.net>2009-09-12 16:46:51 +0000
commite8ce775db824de329b81293b4e5d8fbd65624528 (patch)
tree4b20c4dc766f5172b65ca1bc16ae1b6d48920fa1 /y.tab.c
parentd166f048818e10cf3799aa24a174fb22835f1acc (diff)
downloadbash-e8ce775db824de329b81293b4e5d8fbd65624528.tar.gz
Imported from ../bash-2.01.1.tar.gz.
Diffstat (limited to 'y.tab.c')
-rw-r--r--y.tab.c247
1 files changed, 128 insertions, 119 deletions
diff --git a/y.tab.c b/y.tab.c
index ad707d7f..6c66986d 100644
--- a/y.tab.c
+++ b/y.tab.c
@@ -1,5 +1,5 @@
-/* A Bison parser, made from ./parse.y
+/* A Bison parser, made from /usr/homes/chet/src/bash/bash-2.01.1/parse.y
by GNU Bison version 1.25
*/
@@ -39,7 +39,7 @@
#define GREATER_BAR 289
#define yacc_EOF 290
-#line 21 "./parse.y"
+#line 21 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
#include "config.h"
@@ -189,7 +189,7 @@ static int function_bstart;
static REDIRECTEE redir;
-#line 171 "./parse.y"
+#line 171 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
typedef union {
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
@@ -1071,7 +1071,7 @@ yyreduce:
switch (yyn) {
case 1:
-#line 215 "./parse.y"
+#line 215 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
/* Case of regular command. Discard the error
safety net,and return the command just parsed. */
@@ -1082,7 +1082,7 @@ case 1:
;
break;}
case 2:
-#line 224 "./parse.y"
+#line 224 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
/* Case of regular command, but not a very
interesting one. Return a NULL command. */
@@ -1091,7 +1091,7 @@ case 2:
;
break;}
case 3:
-#line 231 "./parse.y"
+#line 231 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
/* Error during parsing. Return NULL command. */
global_command = (COMMAND *)NULL;
@@ -1108,7 +1108,7 @@ case 3:
;
break;}
case 4:
-#line 246 "./parse.y"
+#line 246 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
/* Case of EOF seen by itself. Do ignoreeof or
not. */
@@ -1118,57 +1118,57 @@ case 4:
;
break;}
case 5:
-#line 256 "./parse.y"
+#line 256 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.word_list = make_word_list (yyvsp[0].word, (WORD_LIST *)NULL); ;
break;}
case 6:
-#line 258 "./parse.y"
+#line 258 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.word_list = make_word_list (yyvsp[0].word, yyvsp[-1].word_list); ;
break;}
case 7:
-#line 262 "./parse.y"
+#line 262 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (1, r_output_direction, redir);
;
break;}
case 8:
-#line 267 "./parse.y"
+#line 267 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (0, r_input_direction, redir);
;
break;}
case 9:
-#line 272 "./parse.y"
+#line 272 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_output_direction, redir);
;
break;}
case 10:
-#line 277 "./parse.y"
+#line 277 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_input_direction, redir);
;
break;}
case 11:
-#line 282 "./parse.y"
+#line 282 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (1, r_appending_to, redir);
;
break;}
case 12:
-#line 287 "./parse.y"
+#line 287 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_appending_to, redir);
;
break;}
case 13:
-#line 292 "./parse.y"
+#line 292 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (0, r_reading_until, redir);
@@ -1176,7 +1176,7 @@ case 13:
;
break;}
case 14:
-#line 298 "./parse.y"
+#line 298 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_reading_until, redir);
@@ -1184,63 +1184,63 @@ case 14:
;
break;}
case 15:
-#line 304 "./parse.y"
+#line 304 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = yyvsp[0].number;
yyval.redirect = make_redirection (0, r_duplicating_input, redir);
;
break;}
case 16:
-#line 309 "./parse.y"
+#line 309 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = yyvsp[0].number;
yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_input, redir);
;
break;}
case 17:
-#line 314 "./parse.y"
+#line 314 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = yyvsp[0].number;
yyval.redirect = make_redirection (1, r_duplicating_output, redir);
;
break;}
case 18:
-#line 319 "./parse.y"
+#line 319 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = yyvsp[0].number;
yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_output, redir);
;
break;}
case 19:
-#line 324 "./parse.y"
+#line 324 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (0, r_duplicating_input_word, redir);
;
break;}
case 20:
-#line 329 "./parse.y"
+#line 329 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_input_word, redir);
;
break;}
case 21:
-#line 334 "./parse.y"
+#line 334 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (1, r_duplicating_output_word, redir);
;
break;}
case 22:
-#line 339 "./parse.y"
+#line 339 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_output_word, redir);
;
break;}
case 23:
-#line 344 "./parse.y"
+#line 344 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection
@@ -1249,7 +1249,7 @@ case 23:
;
break;}
case 24:
-#line 351 "./parse.y"
+#line 351 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection
@@ -1258,88 +1258,88 @@ case 24:
;
break;}
case 25:
-#line 358 "./parse.y"
+#line 358 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = 0L;
yyval.redirect = make_redirection (1, r_close_this, redir);
;
break;}
case 26:
-#line 363 "./parse.y"
+#line 363 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = 0L;
yyval.redirect = make_redirection (yyvsp[-2].number, r_close_this, redir);
;
break;}
case 27:
-#line 368 "./parse.y"
+#line 368 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = 0L;
yyval.redirect = make_redirection (0, r_close_this, redir);
;
break;}
case 28:
-#line 373 "./parse.y"
+#line 373 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.dest = 0L;
yyval.redirect = make_redirection (yyvsp[-2].number, r_close_this, redir);
;
break;}
case 29:
-#line 378 "./parse.y"
+#line 378 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (1, r_err_and_out, redir);
;
break;}
case 30:
-#line 383 "./parse.y"
+#line 383 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_input_output, redir);
;
break;}
case 31:
-#line 388 "./parse.y"
+#line 388 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (0, r_input_output, redir);
;
break;}
case 32:
-#line 393 "./parse.y"
+#line 393 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (1, r_output_force, redir);
;
break;}
case 33:
-#line 398 "./parse.y"
+#line 398 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
redir.filename = yyvsp[0].word;
yyval.redirect = make_redirection (yyvsp[-2].number, r_output_force, redir);
;
break;}
case 34:
-#line 405 "./parse.y"
+#line 405 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.element.word = yyvsp[0].word; yyval.element.redirect = 0; ;
break;}
case 35:
-#line 407 "./parse.y"
+#line 407 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.element.word = yyvsp[0].word; yyval.element.redirect = 0; ;
break;}
case 36:
-#line 409 "./parse.y"
+#line 409 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.element.redirect = yyvsp[0].redirect; yyval.element.word = 0; ;
break;}
case 37:
-#line 413 "./parse.y"
+#line 413 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.redirect = yyvsp[0].redirect;
;
break;}
case 38:
-#line 417 "./parse.y"
+#line 417 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
register REDIRECT *t;
@@ -1350,23 +1350,23 @@ case 38:
;
break;}
case 39:
-#line 428 "./parse.y"
+#line 428 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_simple_command (yyvsp[0].element, (COMMAND *)NULL); ;
break;}
case 40:
-#line 430 "./parse.y"
+#line 430 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_simple_command (yyvsp[0].element, yyvsp[-1].command); ;
break;}
case 41:
-#line 434 "./parse.y"
+#line 434 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = clean_simple_command (yyvsp[0].command); ;
break;}
case 42:
-#line 436 "./parse.y"
+#line 436 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 43:
-#line 438 "./parse.y"
+#line 438 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
COMMAND *tc;
@@ -1395,191 +1395,191 @@ case 43:
;
break;}
case 44:
-#line 467 "./parse.y"
+#line 467 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 45:
-#line 469 "./parse.y"
+#line 469 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 46:
-#line 471 "./parse.y"
+#line 471 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_while_command (yyvsp[-3].command, yyvsp[-1].command); ;
break;}
case 47:
-#line 473 "./parse.y"
+#line 473 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_until_command (yyvsp[-3].command, yyvsp[-1].command); ;
break;}
case 48:
-#line 475 "./parse.y"
+#line 475 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 49:
-#line 477 "./parse.y"
+#line 477 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 50:
-#line 479 "./parse.y"
+#line 479 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 51:
-#line 481 "./parse.y"
+#line 481 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 52:
-#line 483 "./parse.y"
+#line 483 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 53:
-#line 487 "./parse.y"
+#line 487 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_for_command (yyvsp[-4].word, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), yyvsp[-1].command); ;
break;}
case 54:
-#line 489 "./parse.y"
+#line 489 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_for_command (yyvsp[-4].word, add_string_to_list ("$@", (WORD_LIST *)NULL), yyvsp[-1].command); ;
break;}
case 55:
-#line 491 "./parse.y"
+#line 491 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_for_command (yyvsp[-5].word, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), yyvsp[-1].command); ;
break;}
case 56:
-#line 493 "./parse.y"
+#line 493 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_for_command (yyvsp[-5].word, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), yyvsp[-1].command); ;
break;}
case 57:
-#line 495 "./parse.y"
+#line 495 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_for_command (yyvsp[-8].word, REVERSE_LIST (yyvsp[-5].word_list, WORD_LIST *), yyvsp[-1].command); ;
break;}
case 58:
-#line 497 "./parse.y"
+#line 497 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_for_command (yyvsp[-8].word, REVERSE_LIST (yyvsp[-5].word_list, WORD_LIST *), yyvsp[-1].command); ;
break;}
case 59:
-#line 501 "./parse.y"
+#line 501 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = make_select_command (yyvsp[-4].word, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), yyvsp[-1].command);
;
break;}
case 60:
-#line 505 "./parse.y"
+#line 505 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = make_select_command (yyvsp[-4].word, add_string_to_list ("$@", (WORD_LIST *)NULL), yyvsp[-1].command);
;
break;}
case 61:
-#line 509 "./parse.y"
+#line 509 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = make_select_command (yyvsp[-5].word, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), yyvsp[-1].command);
;
break;}
case 62:
-#line 513 "./parse.y"
+#line 513 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = make_select_command (yyvsp[-5].word, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), yyvsp[-1].command);
;
break;}
case 63:
-#line 517 "./parse.y"
+#line 517 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = make_select_command (yyvsp[-8].word, (WORD_LIST *)reverse_list (yyvsp[-5].word_list), yyvsp[-1].command);
;
break;}
case 64:
-#line 521 "./parse.y"
+#line 521 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = make_select_command (yyvsp[-8].word, (WORD_LIST *)reverse_list (yyvsp[-5].word_list), yyvsp[-1].command);
;
break;}
case 65:
-#line 527 "./parse.y"
+#line 527 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_case_command (yyvsp[-4].word, (PATTERN_LIST *)NULL); ;
break;}
case 66:
-#line 529 "./parse.y"
+#line 529 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_case_command (yyvsp[-5].word, yyvsp[-2].pattern); ;
break;}
case 67:
-#line 531 "./parse.y"
+#line 531 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_case_command (yyvsp[-4].word, yyvsp[-1].pattern); ;
break;}
case 68:
-#line 535 "./parse.y"
+#line 535 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_function_def (yyvsp[-4].word, yyvsp[0].command, function_dstart, function_bstart); ;
break;}
case 69:
-#line 539 "./parse.y"
+#line 539 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_function_def (yyvsp[-4].word, yyvsp[0].command, function_dstart, function_bstart); ;
break;}
case 70:
-#line 542 "./parse.y"
+#line 542 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_function_def (yyvsp[-2].word, yyvsp[0].command, function_dstart, function_bstart); ;
break;}
case 71:
-#line 546 "./parse.y"
+#line 546 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyvsp[-1].command->flags |= CMD_WANT_SUBSHELL; yyval.command = yyvsp[-1].command; ;
break;}
case 72:
-#line 550 "./parse.y"
+#line 550 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_if_command (yyvsp[-3].command, yyvsp[-1].command, (COMMAND *)NULL); ;
break;}
case 73:
-#line 552 "./parse.y"
+#line 552 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_if_command (yyvsp[-5].command, yyvsp[-3].command, yyvsp[-1].command); ;
break;}
case 74:
-#line 554 "./parse.y"
+#line 554 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_if_command (yyvsp[-4].command, yyvsp[-2].command, yyvsp[-1].command); ;
break;}
case 75:
-#line 559 "./parse.y"
+#line 559 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_group_command (yyvsp[-1].command); ;
break;}
case 76:
-#line 563 "./parse.y"
+#line 563 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_if_command (yyvsp[-2].command, yyvsp[0].command, (COMMAND *)NULL); ;
break;}
case 77:
-#line 565 "./parse.y"
+#line 565 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_if_command (yyvsp[-4].command, yyvsp[-2].command, yyvsp[0].command); ;
break;}
case 78:
-#line 567 "./parse.y"
+#line 567 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = make_if_command (yyvsp[-3].command, yyvsp[-1].command, yyvsp[0].command); ;
break;}
case 80:
-#line 572 "./parse.y"
+#line 572 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyvsp[0].pattern->next = yyvsp[-1].pattern; yyval.pattern = yyvsp[0].pattern; ;
break;}
case 81:
-#line 576 "./parse.y"
+#line 576 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.pattern = make_pattern_list (yyvsp[-2].word_list, yyvsp[0].command); ;
break;}
case 82:
-#line 578 "./parse.y"
+#line 578 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.pattern = make_pattern_list (yyvsp[-2].word_list, (COMMAND *)NULL); ;
break;}
case 83:
-#line 580 "./parse.y"
+#line 580 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.pattern = make_pattern_list (yyvsp[-2].word_list, yyvsp[0].command); ;
break;}
case 84:
-#line 582 "./parse.y"
+#line 582 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.pattern = make_pattern_list (yyvsp[-2].word_list, (COMMAND *)NULL); ;
break;}
case 86:
-#line 587 "./parse.y"
+#line 587 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyvsp[-1].pattern->next = yyvsp[-2].pattern; yyval.pattern = yyvsp[-1].pattern; ;
break;}
case 87:
-#line 591 "./parse.y"
+#line 591 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.word_list = make_word_list (yyvsp[0].word, (WORD_LIST *)NULL); ;
break;}
case 88:
-#line 593 "./parse.y"
+#line 593 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.word_list = make_word_list (yyvsp[0].word, yyvsp[-2].word_list); ;
break;}
case 89:
-#line 602 "./parse.y"
+#line 602 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = yyvsp[0].command;
if (need_here_doc)
@@ -1587,13 +1587,13 @@ case 89:
;
break;}
case 91:
-#line 611 "./parse.y"
+#line 611 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = yyvsp[0].command;
;
break;}
case 93:
-#line 618 "./parse.y"
+#line 618 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
if (yyvsp[-2].command->type == cm_connection)
yyval.command = connect_async_list (yyvsp[-2].command, (COMMAND *)NULL, '&');
@@ -1602,15 +1602,15 @@ case 93:
;
break;}
case 95:
-#line 629 "./parse.y"
+#line 629 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, AND_AND); ;
break;}
case 96:
-#line 631 "./parse.y"
+#line 631 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, OR_OR); ;
break;}
case 97:
-#line 633 "./parse.y"
+#line 633 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
if (yyvsp[-3].command->type == cm_connection)
yyval.command = connect_async_list (yyvsp[-3].command, yyvsp[0].command, '&');
@@ -1619,19 +1619,19 @@ case 97:
;
break;}
case 98:
-#line 640 "./parse.y"
+#line 640 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, ';'); ;
break;}
case 99:
-#line 642 "./parse.y"
+#line 642 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, ';'); ;
break;}
case 100:
-#line 644 "./parse.y"
+#line 644 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 106:
-#line 663 "./parse.y"
+#line 663 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = yyvsp[0].command;
if (need_here_doc)
@@ -1639,7 +1639,7 @@ case 106:
;
break;}
case 107:
-#line 669 "./parse.y"
+#line 669 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
if (yyvsp[-1].command->type == cm_connection)
yyval.command = connect_async_list (yyvsp[-1].command, (COMMAND *)NULL, '&');
@@ -1650,7 +1650,7 @@ case 107:
;
break;}
case 108:
-#line 678 "./parse.y"
+#line 678 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyval.command = yyvsp[-1].command;
if (need_here_doc)
@@ -1658,15 +1658,15 @@ case 108:
;
break;}
case 109:
-#line 686 "./parse.y"
+#line 686 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, AND_AND); ;
break;}
case 110:
-#line 688 "./parse.y"
+#line 688 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, OR_OR); ;
break;}
case 111:
-#line 690 "./parse.y"
+#line 690 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
if (yyvsp[-2].command->type == cm_connection)
yyval.command = connect_async_list (yyvsp[-2].command, yyvsp[0].command, '&');
@@ -1675,59 +1675,59 @@ case 111:
;
break;}
case 112:
-#line 697 "./parse.y"
+#line 697 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-2].command, yyvsp[0].command, ';'); ;
break;}
case 113:
-#line 700 "./parse.y"
+#line 700 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 114:
-#line 704 "./parse.y"
+#line 704 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 115:
-#line 706 "./parse.y"
+#line 706 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyvsp[0].command->flags |= CMD_INVERT_RETURN;
yyval.command = yyvsp[0].command;
;
break;}
case 116:
-#line 711 "./parse.y"
+#line 711 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyvsp[0].command->flags |= yyvsp[-1].number;
yyval.command = yyvsp[0].command;
;
break;}
case 117:
-#line 716 "./parse.y"
+#line 716 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyvsp[0].command->flags |= yyvsp[-2].number;
yyval.command = yyvsp[0].command;
;
break;}
case 118:
-#line 721 "./parse.y"
+#line 721 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{
yyvsp[0].command->flags |= yyvsp[-1].number|CMD_INVERT_RETURN;
yyval.command = yyvsp[0].command;
;
break;}
case 119:
-#line 729 "./parse.y"
+#line 729 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, '|'); ;
break;}
case 120:
-#line 731 "./parse.y"
+#line 731 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.command = yyvsp[0].command; ;
break;}
case 121:
-#line 735 "./parse.y"
+#line 735 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.number = CMD_TIME_PIPELINE; ;
break;}
case 122:
-#line 737 "./parse.y"
+#line 737 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
{ yyval.number = CMD_TIME_PIPELINE|CMD_TIME_POSIX; ;
break;}
}
@@ -1928,7 +1928,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 739 "./parse.y"
+#line 739 "/usr/homes/chet/src/bash/bash-2.01.1/parse.y"
/* Possible states for the parser that require it to do special things. */
@@ -3722,7 +3722,7 @@ read_token_word (character)
#if defined (ARRAY_VARS)
/* Identify possible compound array variable assignment. */
- else if (character == '=')
+ else if (character == '=' && token_index > 0)
{
peek_char = shell_getc (1);
if (peek_char == '(') /* ) */
@@ -4270,6 +4270,7 @@ decode_prompt_string (string)
{
/* Use the value of PWD because it is much more efficient. */
char t_string[PATH_MAX];
+ int tlen;
temp = get_string_value ("PWD");
@@ -4278,11 +4279,17 @@ decode_prompt_string (string)
if (getcwd (t_string, sizeof(t_string)) == 0)
{
t_string[0] = '.';
- t_string[1] = '\0';
+ tlen = 1;
}
+ else
+ tlen = strlen (t_string);
}
else
- strcpy (t_string, temp);
+ {
+ tlen = sizeof (t_string) - 1;
+ strncpy (t_string, temp, tlen);
+ }
+ t_string[tlen] = '\0';
if (c == 'W')
{
@@ -4291,6 +4298,8 @@ decode_prompt_string (string)
strcpy (t_string, t + 1);
}
else
+ /* polite_directory_format is guaranteed to return a string
+ no longer than PATH_MAX - 1 characters. */
strcpy (t_string, polite_directory_format (t_string));
/* If we're going to be expanding the prompt string later,