diff options
Diffstat (limited to 'subst.h')
-rw-r--r-- | subst.h | 32 |
1 files changed, 21 insertions, 11 deletions
@@ -1,6 +1,6 @@ /* subst.h -- Names of externally visible functions in subst.c. */ -/* Copyright (C) 1993-2009 Free Software Foundation, Inc. +/* Copyright (C) 1993-2010 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -30,7 +30,8 @@ decide whether to retain the backslash. Q_KEEP_BACKSLASH means to unconditionally retain the backslash. Q_PATQUOTE means that we're expanding a pattern ${var%#[#%]pattern} in an expansion surrounded - by double quotes. */ + by double quotes. Q_DOLBRACE means we are expanding a ${...} word, so + backslashes should also escape { and } and be removed. */ #define Q_DOUBLE_QUOTES 0x01 #define Q_HERE_DOCUMENT 0x02 #define Q_KEEP_BACKSLASH 0x04 @@ -38,6 +39,7 @@ #define Q_QUOTED 0x10 #define Q_ADDEDQUOTES 0x20 #define Q_QUOTEDNULL 0x40 +#define Q_DOLBRACE 0x80 /* Flag values controlling how assignment statements are treated. */ #define ASS_APPEND 0x01 @@ -45,14 +47,15 @@ #define ASS_MKASSOC 0x04 /* Flags for the string extraction functions. */ -#define SX_NOALLOC 0x01 /* just skip; don't return substring */ -#define SX_VARNAME 0x02 /* variable name; for string_extract () */ -#define SX_REQMATCH 0x04 /* closing/matching delimiter required */ -#define SX_COMMAND 0x08 /* extracting a shell script/command */ -#define SX_NOCTLESC 0x10 /* don't honor CTLESC quoting */ -#define SX_NOESCCTLNUL 0x20 /* don't let CTLESC quote CTLNUL */ -#define SX_NOLONGJMP 0x40 /* don't longjmp on fatal error */ -#define SX_ARITHSUB 0x80 /* extracting $(( ... )) (currently unused) */ +#define SX_NOALLOC 0x0001 /* just skip; don't return substring */ +#define SX_VARNAME 0x0002 /* variable name; for string_extract () */ +#define SX_REQMATCH 0x0004 /* closing/matching delimiter required */ +#define SX_COMMAND 0x0008 /* extracting a shell script/command */ +#define SX_NOCTLESC 0x0010 /* don't honor CTLESC quoting */ +#define SX_NOESCCTLNUL 0x0020 /* don't let CTLESC quote CTLNUL */ +#define SX_NOLONGJMP 0x0040 /* don't longjmp on fatal error */ +#define SX_ARITHSUB 0x0080 /* extracting $(( ... )) (currently unused) */ +#define SX_POSIXEXP 0x0100 /* extracting new Posix pattern removal expansions in extract_dollar_brace_string */ /* Remove backslashes which are quoting backquotes from STRING. Modifies STRING, and returns a pointer to it. */ @@ -121,7 +124,7 @@ extern char *strip_trailing_ifs_whitespace __P((char *, char *, int)); splitting on the result of expansion. */ extern int do_assignment __P((char *)); extern int do_assignment_no_expand __P((char *)); -extern int do_word_assignment __P((WORD_DESC *)); +extern int do_word_assignment __P((WORD_DESC *, int)); /* Append SOURCE to TARGET at INDEX. SIZE is the current amount of space allocated to TARGET. SOURCE can be NULL, in which @@ -251,7 +254,13 @@ extern WORD_DESC *command_substitute __P((char *, int)); extern char *pat_subst __P((char *, char *, char *, int)); extern int fifos_pending __P((void)); +extern int num_fifos __P((void)); extern void unlink_fifo_list __P((void)); +extern void unlink_fifo __P((int)); + +extern char *copy_fifo_list __P((int *)); +extern void unlink_new_fifos __P((char *, int)); +extern void close_new_fifos __P((char *, int)); extern WORD_LIST *list_string_with_quotes __P((char *)); @@ -269,6 +278,7 @@ extern char *cond_expand_word __P((WORD_DESC *, int)); #define SD_INVERT 0x02 /* look for chars NOT in passed set */ #define SD_NOQUOTEDELIM 0x04 /* don't let single or double quotes act as delimiters */ #define SD_NOSKIPCMD 0x08 /* don't skip over $(, <(, or >( command/process substitution */ +#define SD_EXTGLOB 0x10 /* skip over extended globbing patterns if appropriate */ extern int skip_to_delim __P((char *, int, char *, int)); |