Imported from ../bash-2.01.tar.gz.

This commit is contained in:
Jari Aalto 1997-06-05 14:59:13 +00:00
commit d166f04881
304 changed files with 14702 additions and 13012 deletions

View file

@ -28,11 +28,7 @@
# include <unistd.h>
#endif
#if defined (HAVE_STRING_H)
# include <string.h>
#else /* !HAVE_STRING_H */
# include <strings.h>
#endif /* !HAVE_STRING_H */
#include "bashansi.h"
#if defined (SHELL)
# include "shell.h"
@ -41,6 +37,10 @@
#include "general.h"
#define brace_whitespace(c) (!(c) || (c) == ' ' || (c) == '\t' || (c) == '\n')
#if defined (SHELL)
extern char *extract_command_subst ();
#endif
/* Basic idea:
Segregate the text into 3 sections: preamble (stuff before an open brace),
@ -210,6 +210,10 @@ brace_gobbler (text, indx, satisfy)
int satisfy;
{
register int i, c, quoted, level, pass_next;
#if defined (SHELL)
int si;
char *t;
#endif
level = quoted = pass_next = 0;
@ -242,6 +246,18 @@ brace_gobbler (text, indx, satisfy)
continue;
}
#if defined (SHELL)
/* Pass new-style command substitutions through unchanged. */
if (c == '$' && text[i+1] == '(') /* ) */
{
si = i + 2;
t = extract_command_subst (text, &si);
i = si;
free (t);
continue;
}
#endif
if (c == satisfy && level == 0 && quoted == 0)
{
/* We ignore an open brace surrounded by whitespace, and also