diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-04-05 23:00:47 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-04-05 23:00:47 +0000 |
commit | c270ec1fa27e998d6d22bb43c3839789f8af4ba8 (patch) | |
tree | d0b6fab76b2d04d9fe09a3158cd82d40ed4317b7 | |
parent | 831ed16efca5dd12b51480a3004f3dc86fcf267d (diff) | |
download | busybox-w32-c270ec1fa27e998d6d22bb43c3839789f8af4ba8.tar.gz busybox-w32-c270ec1fa27e998d6d22bb43c3839789f8af4ba8.tar.bz2 busybox-w32-c270ec1fa27e998d6d22bb43c3839789f8af4ba8.zip |
Add support of /W prompts
-Erik
-rw-r--r-- | cmdedit.c | 13 | ||||
-rw-r--r-- | shell/cmdedit.c | 13 |
2 files changed, 26 insertions, 0 deletions
@@ -441,6 +441,19 @@ static void parse_prompt(const char *prmt_ptr) | |||
441 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, pwd_buf); | 441 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, pwd_buf); |
442 | continue; | 442 | continue; |
443 | #endif | 443 | #endif |
444 | case 'W': | ||
445 | if (pwd_buf[0] == 0) { | ||
446 | char *z; | ||
447 | |||
448 | getcwd(pwd_buf, PATH_MAX); | ||
449 | z = strrchr(pwd_buf,'/'); | ||
450 | if ( (z != NULL) && (z != pwd_buf) ) { | ||
451 | z++; | ||
452 | strcpy(pwd_buf,z); | ||
453 | } | ||
454 | } | ||
455 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, pwd_buf); | ||
456 | continue; | ||
444 | case '!': | 457 | case '!': |
445 | snprintf(buf, sizeof(buf), "%d", num_ok_lines); | 458 | snprintf(buf, sizeof(buf), "%d", num_ok_lines); |
446 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, buf); | 459 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, buf); |
diff --git a/shell/cmdedit.c b/shell/cmdedit.c index e317b86fa..a3710812f 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c | |||
@@ -441,6 +441,19 @@ static void parse_prompt(const char *prmt_ptr) | |||
441 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, pwd_buf); | 441 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, pwd_buf); |
442 | continue; | 442 | continue; |
443 | #endif | 443 | #endif |
444 | case 'W': | ||
445 | if (pwd_buf[0] == 0) { | ||
446 | char *z; | ||
447 | |||
448 | getcwd(pwd_buf, PATH_MAX); | ||
449 | z = strrchr(pwd_buf,'/'); | ||
450 | if ( (z != NULL) && (z != pwd_buf) ) { | ||
451 | z++; | ||
452 | strcpy(pwd_buf,z); | ||
453 | } | ||
454 | } | ||
455 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, pwd_buf); | ||
456 | continue; | ||
444 | case '!': | 457 | case '!': |
445 | snprintf(buf, sizeof(buf), "%d", num_ok_lines); | 458 | snprintf(buf, sizeof(buf), "%d", num_ok_lines); |
446 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, buf); | 459 | add_to_prompt(&prmt_mem_ptr, &alm, &prmt_len, buf); |