37 |
#ifndef DASH_STRLIST_H |
#ifndef DASH_STRLIST_H |
38 |
#define DASH_STRLIST_H |
#define DASH_STRLIST_H |
39 |
|
|
40 |
|
#include <stdint.h> |
41 |
|
|
42 |
struct strlist { |
struct strlist { |
43 |
struct strlist *next; |
struct strlist *next; |
44 |
char *text; |
char *text; |
58 |
#define EXP_VARTILDE 0x4 /* expand tildes in an assignment */ |
#define EXP_VARTILDE 0x4 /* expand tildes in an assignment */ |
59 |
#define EXP_REDIR 0x8 /* file glob for a redirection (1 match only) */ |
#define EXP_REDIR 0x8 /* file glob for a redirection (1 match only) */ |
60 |
#define EXP_CASE 0x10 /* keeps quotes around for CASE pattern */ |
#define EXP_CASE 0x10 /* keeps quotes around for CASE pattern */ |
61 |
#define EXP_RECORD 0x20 /* need to record arguments for ifs breakup */ |
#define EXP_QPAT 0x20 /* pattern in quoted parameter expansion */ |
62 |
#define EXP_VARTILDE2 0x40 /* expand tildes after colons only */ |
#define EXP_VARTILDE2 0x40 /* expand tildes after colons only */ |
63 |
#define EXP_WORD 0x80 /* expand word in parameter expansion */ |
#define EXP_WORD 0x80 /* expand word in parameter expansion */ |
64 |
#define EXP_QWORD 0x100 /* expand word in quoted parameter expansion */ |
#define EXP_QUOTED 0x100 /* expand word in double quotes */ |
65 |
|
|
66 |
|
|
67 |
union node; |
union node; |
|
void expandhere(union node *, int); |
|
68 |
void expandarg(union node *, struct arglist *, int); |
void expandarg(union node *, struct arglist *, int); |
69 |
void expari(int); |
void expari(int); |
70 |
#define rmescapes(p) _rmescapes((p), 0) |
#define rmescapes(p) _rmescapes((p), 0) |
71 |
char *_rmescapes(char *, int); |
char *_rmescapes(char *, int); |
72 |
int casematch(union node *, char *); |
int casematch(union node *, char *); |
73 |
|
void recordregion(int, int, int); |
74 |
|
void removerecordregions(int); |
75 |
|
void ifsbreakup(char *, struct arglist *); |
76 |
|
|
77 |
/* From arith.y */ |
/* From arith.y */ |
78 |
int arith(const char *); |
intmax_t arith(const char *); |
79 |
int expcmd(int , char **); |
int expcmd(int , char **); |
80 |
#ifdef USE_LEX |
#ifdef USE_LEX |
81 |
void arith_lex_reset(void); |
void arith_lex_reset(void); |