summaryrefslogtreecommitdiff
path: root/rc.h
diff options
context:
space:
mode:
authorToby Goodwin <tjg@star.le.ac.uk>2001-10-12 10:25:58 +0100
committerToby Goodwin <toby@paccrat.org>2015-05-16 21:22:10 +0100
commit609a278bf6e301ea9a021793de314ddcadb806ba (patch)
treef8dac56d9eccbc46d5105d0206fe607ace82c3a8 /rc.h
parent14106ccc3b2cb03c8b9a1df1a1b3e3953aaee2f8 (diff)
beta: rc-1.6b3
Diffstat (limited to 'rc.h')
-rw-r--r--rc.h17
1 files changed, 12 insertions, 5 deletions
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 <assert.h>
+
#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 */
/*