Imported from ../bash-3.2.48.tar.gz.
[platform/upstream/bash.git] / syntax.h
index b14427a..dd6bf52 100644 (file)
--- a/syntax.h
+++ b/syntax.h
 #define CXQUOTE                0x0400  /* cquote + backslash */
 #define CSPECVAR       0x0800  /* single-character shell variable name */
 #define CSUBSTOP       0x1000  /* values of OP for ${word[:]OPstuff} */
+#define CBLANK         0x2000  /* whitespace (blank) character */
 
 /* Defines for use by the rest of the shell. */
-extern const int sh_syntaxtab[];
+extern int sh_syntaxtab[];
+extern int sh_syntabsiz;
 
 #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 shellxquote(c) (sh_syntaxtab[(unsigned char)(c)] & CXQUOTE)
+
+#define shellblank(c)  (sh_syntaxtab[(unsigned char)(c)] & CBLANK)
 
 #define issyntype(c, t)        ((sh_syntaxtab[(unsigned char)(c)] & (t)) != 0)
 #define notsyntype(c,t) ((sh_syntaxtab[(unsigned char)(c)] & (t)) == 0)
@@ -92,4 +97,8 @@ extern const int sh_syntaxtab[];
 #define CTLESC '\001'
 #define CTLNUL '\177'
 
+#if !defined (HAVE_ISBLANK) && !defined (isblank)
+#  define isblank(x)   ((x) == ' ' || (x) == '\t')
+#endif
+
 #endif /* _SYNTAX_H_ */