From 2e10c2d82670fbbb36408ce3f02d8d937e8d09bc Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sun, 13 Jan 2019 18:50:45 -0500 Subject: Add PS0 --- bin/cash/parser.c | 6 ++++++ bin/cash/var.c | 3 +++ bin/cash/var.h | 2 ++ 3 files changed, 11 insertions(+) (limited to 'bin/cash') diff --git a/bin/cash/parser.c b/bin/cash/parser.c index 86c09776..91771e81 100644 --- a/bin/cash/parser.c +++ b/bin/cash/parser.c @@ -129,6 +129,7 @@ static void consumetoken(int); static void synexpect(int) __dead2; static void synerror(const char *) __dead2; static void setprompt(int); +static char *expandprompt(const char *); static int pgetc_linecont(void); @@ -1937,6 +1938,11 @@ setprompt(int which) if (which == 0) return; + if (which == 1 && *ps0val()) { + out2str(expandprompt(ps0val())); + flushout(out2); + } + #ifndef NO_HISTORY if (!el) #endif diff --git a/bin/cash/var.c b/bin/cash/var.c index 18e5de62..d0c01bb7 100644 --- a/bin/cash/var.c +++ b/bin/cash/var.c @@ -94,6 +94,7 @@ struct var vifs; struct var vmail; struct var vmpath; struct var vpath; +struct var vps0; struct var vps1; struct var vps2; struct var vps4; @@ -119,6 +120,8 @@ static const struct varinit varinit[] = { NULL }, { &vpath, 0, "PATH=" _PATH_DEFPATH, changepath }, + { &vps0, VUNSET, "PS0=", + NULL }, /* * vps1 depends on uid */ diff --git a/bin/cash/var.h b/bin/cash/var.h index 9ebb7765..31f9dcc7 100644 --- a/bin/cash/var.h +++ b/bin/cash/var.h @@ -77,6 +77,7 @@ extern struct var vifs; extern struct var vmail; extern struct var vmpath; extern struct var vpath; +extern struct var vps0; extern struct var vps1; extern struct var vps2; extern struct var vps4; @@ -103,6 +104,7 @@ extern int initial_localeisutf8; #define mailval() (vmail.text + 5) #define mpathval() (vmpath.text + 9) #define pathval() (vpath.text + 5) +#define ps0val() (vps0.text + 4) #define ps1val() (vps1.text + 4) #define ps2val() (vps2.text + 4) #define ps4val() (vps4.text + 4) -- cgit 1.4.1