From 609a278bf6e301ea9a021793de314ddcadb806ba Mon Sep 17 00:00:00 2001 From: Toby Goodwin Date: Fri, 12 Oct 2001 10:25:58 +0100 Subject: beta: rc-1.6b3 --- rc.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'rc.h') diff --git a/rc.h b/rc.h index f582bd4..abbbf6b 100644 --- a/rc.h +++ b/rc.h @@ -1,13 +1,18 @@ +#define NDEBUG 1 +#include + #include "config.h" #include "proto.h" /* datatypes */ +#define ENV_SEP '\001' +#define ENV_ESC '\002' + /* braindamaged IBM header files #define true and false */ #undef FALSE #undef TRUE - typedef void builtin_t(char **); typedef struct Block Block; typedef struct Dup Dup; @@ -27,8 +32,8 @@ typedef struct Format Format; typedef union Edata Edata; typedef enum nodetype { - nAndalso, nAssign, nBackq, nBang, nBody, nCbody, nNowait, nBrace, nConcat, - nCount, nElse, nFlat, nDup, nEpilog, nNewfn, nForin, nIf, nQword, + nAndalso, nAssign, nBackq, nBang, nBody, nCbody, nNowait, nBrace, + nConcat, nCount, nElse, nFlat, nDup, nEpilog, nNewfn, nForin, nIf, nOrelse, nPipe, nPre, nRedir, nRmfn, nArgs, nSubshell, nCase, nSwitch, nMatch, nVar, nVarsub, nWhile, nWord, nLappend, nNmpipe } nodetype; @@ -95,6 +100,7 @@ struct Redir { struct Word { char *w, *m; + bool q; }; struct Rq { @@ -133,7 +139,6 @@ struct Format { enum { FMT_quad = 1, /* %q */ FMT_long = 2, /* %l */ - FMT_short = 4, /* %h */ FMT_unsigned = 8, /* %u */ FMT_zeropad = 16, /* %0 */ FMT_leftside = 32, /* %- */ @@ -273,11 +278,12 @@ extern void pushfd(int); extern void pushstring(char **, bool); extern void popinput(void); extern void closefds(void); -extern int last; +extern int lastchar; extern bool rcrc; /* lex.c */ +extern bool quotep(char *, bool); extern int yylex(void); extern void inityy(void); extern void yyerror(const char *); @@ -305,6 +311,7 @@ extern void restoreblock(Block *); /* open.c */ extern int rc_open(const char *, redirtype); extern bool makeblocking(int); +extern bool makesamepgrp(int); /* print.c */ /* -- cgit v1.2.3