diff options
author | vodz <vodz@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2005-09-26 13:24:45 +0000 |
---|---|---|
committer | vodz <vodz@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2005-09-26 13:24:45 +0000 |
commit | 7acd24a98a0c919ed7b1fd72b85a6a0fbda1a6fa (patch) | |
tree | 66099af1d6b438a528bbcb965023c6f2e164aaf0 /shell | |
parent | d3ac3c2795893fd63f78f4238cf3fdfddcefbcbd (diff) | |
download | busybox-w32-7acd24a98a0c919ed7b1fd72b85a6a0fbda1a6fa.tar.gz busybox-w32-7acd24a98a0c919ed7b1fd72b85a6a0fbda1a6fa.tar.bz2 busybox-w32-7acd24a98a0c919ed7b1fd72b85a6a0fbda1a6fa.zip |
correct set prompt if CONFIG_ASH_EXPAND_PRMT enabled, small automatic space->tabs convert by my personal editor
git-svn-id: svn://busybox.net/trunk/busybox@11650 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/shell/ash.c b/shell/ash.c index 7271535aa..559238c3f 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -6016,10 +6016,19 @@ pfgets(char *line, int len) | |||
6016 | 6016 | ||
6017 | 6017 | ||
6018 | #ifdef CONFIG_FEATURE_COMMAND_EDITING | 6018 | #ifdef CONFIG_FEATURE_COMMAND_EDITING |
6019 | #ifdef CONFIG_ASH_EXPAND_PRMT | ||
6020 | static char *cmdedit_prompt; | ||
6021 | #else | ||
6019 | static const char *cmdedit_prompt; | 6022 | static const char *cmdedit_prompt; |
6023 | #endif | ||
6020 | static inline void putprompt(const char *s) | 6024 | static inline void putprompt(const char *s) |
6021 | { | 6025 | { |
6026 | #ifdef CONFIG_ASH_EXPAND_PRMT | ||
6027 | free(cmdedit_prompt); | ||
6028 | cmdedit_prompt = bb_xstrdup(s); | ||
6029 | #else | ||
6022 | cmdedit_prompt = s; | 6030 | cmdedit_prompt = s; |
6031 | #endif | ||
6023 | } | 6032 | } |
6024 | #else | 6033 | #else |
6025 | static inline void putprompt(const char *s) | 6034 | static inline void putprompt(const char *s) |
@@ -12626,7 +12635,7 @@ readcmd(int argc, char **argv) | |||
12626 | while ((i = nextopt("p:r")) != '\0') | 12635 | while ((i = nextopt("p:r")) != '\0') |
12627 | #endif | 12636 | #endif |
12628 | { | 12637 | { |
12629 | switch(i) { | 12638 | switch(i) { |
12630 | case 'p': | 12639 | case 'p': |
12631 | prompt = optionarg; | 12640 | prompt = optionarg; |
12632 | break; | 12641 | break; |
@@ -12643,13 +12652,13 @@ readcmd(int argc, char **argv) | |||
12643 | #endif | 12652 | #endif |
12644 | #if defined(CONFIG_ASH_READ_TIMEOUT) | 12653 | #if defined(CONFIG_ASH_READ_TIMEOUT) |
12645 | case 't': | 12654 | case 't': |
12646 | ts.tv_sec = strtol(optionarg, &p, 10); | 12655 | ts.tv_sec = strtol(optionarg, &p, 10); |
12647 | ts.tv_usec = 0; | 12656 | ts.tv_usec = 0; |
12648 | if (*p == '.') { | 12657 | if (*p == '.') { |
12649 | char *p2; | 12658 | char *p2; |
12650 | if (*++p) { | 12659 | if (*++p) { |
12651 | int scale; | 12660 | int scale; |
12652 | ts.tv_usec = strtol(p, &p2, 10); | 12661 | ts.tv_usec = strtol(p, &p2, 10); |
12653 | if (*p2) | 12662 | if (*p2) |
12654 | error("invalid timeout"); | 12663 | error("invalid timeout"); |
12655 | scale = p2 - p; | 12664 | scale = p2 - p; |