]> git.ipfire.org Git - thirdparty/bash.git/blobdiff - syntax.h
Imported from ../bash-2.05b.tar.gz.
[thirdparty/bash.git] / syntax.h
index 87938d61fee5ad8dc0d2a5c80a6197beed7788ed..b14427a32f29e67019c285e5c776f95be51204e0 100644 (file)
--- a/syntax.h
+++ b/syntax.h
 #define CXGLOB         0x0200  /* extended globbing characters */
 #define CXQUOTE                0x0400  /* cquote + backslash */
 #define CSPECVAR       0x0800  /* single-character shell variable name */
+#define CSUBSTOP       0x1000  /* values of OP for ${word[:]OPstuff} */
 
 /* Defines for use by the rest of the shell. */
 extern const int sh_syntaxtab[];
 
-#define shellmeta(c)   (sh_syntaxtab[(c)] & CSHMETA)
-#define shellbreak(c)  (sh_syntaxtab[(c)] & CSHBRK)
-#define shellquote(c)  (sh_syntaxtab[(c)] & CQUOTE)
+#define shellmeta(c)   (sh_syntaxtab[(unsigned char)(c)] & CSHMETA)
+#define shellbreak(c)  (sh_syntaxtab[(unsigned char)(c)] & CSHBRK)
+#define shellquote(c)  (sh_syntaxtab[(unsigned char)(c)] & CQUOTE)
+
+#define issyntype(c, t)        ((sh_syntaxtab[(unsigned char)(c)] & (t)) != 0)
+#define notsyntype(c,t) ((sh_syntaxtab[(unsigned char)(c)] & (t)) == 0)
 
 #if defined (PROCESS_SUBSTITUTION)
 #  define shellexp(c)  ((c) == '$' || (c) == '<' || (c) == '>')