[PATCH] lineedit: fix PS1='\W' for root directory
Ron Yorston
rmy at pobox.com
Fri Aug 22 09:02:27 UTC 2025
'\W' in PS1 returned an empty string for the root directory. bash
displays '/' in similar circumstances.
Avoid returning an empty string for the directory.
function old new delta
parse_and_put_prompt 870 880 +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 10/0) Total: 10 bytes
Signed-off-by: Ron Yorston <rmy at pobox.com>
---
libbb/lineedit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 10cc0433b..1ca21e924 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -2079,7 +2079,7 @@ static void parse_and_put_prompt(const char *prmt_ptr)
if (c == 'w')
break;
cp = strrchr(pbuf, '/');
- if (cp)
+ if (cp && cp[1])
pbuf = (char*)cp + 1;
break;
// bb_process_escape_sequence does this now:
--
2.50.1
More information about the busybox
mailing list