aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorGravatar "Vladimir N. Oleynik" <dzo@simtreas.ru>2005-09-05 15:46:26 +0000
committerGravatar "Vladimir N. Oleynik" <dzo@simtreas.ru>2005-09-05 15:46:26 +0000
commitf087480da192dcae6977bd373ca617abd2b3b200 (patch)
treeaaf0d009f1f7c08f4ad736915f9e193d52bcd1ca /shell
parenta8c23aa7959716bf33b41a890791eb7c3c4d3e74 (diff)
downloadbusybox-f087480da192dcae6977bd373ca617abd2b3b200.tar.gz
busybox-f087480da192dcae6977bd373ca617abd2b3b200.tar.bz2
destroy bug [0000404]
Diffstat (limited to 'shell')
-rw-r--r--shell/cmdedit.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index c67283f4a..6e3ae07f9 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -310,7 +310,7 @@ static void parse_prompt(const char *prmt_ptr)
static void parse_prompt(const char *prmt_ptr)
{
int prmt_len = 0;
- int sub_len = 0;
+ size_t cur_prmt_len = 0;
char flg_not_length = '[';
char *prmt_mem_ptr = xcalloc(1, 1);
char *pwd_buf = xgetcwd(0);
@@ -415,15 +415,15 @@ static void parse_prompt(const char *prmt_ptr)
}
if(pbuf == buf)
*pbuf = c;
- prmt_len += strlen(pbuf);
+ cur_prmt_len = strlen(pbuf);
+ prmt_len += cur_prmt_len;
+ if (flg_not_length != ']')
+ cmdedit_prmt_len += cur_prmt_len;
prmt_mem_ptr = strcat(xrealloc(prmt_mem_ptr, prmt_len+1), pbuf);
- if (flg_not_length == ']')
- sub_len++;
}
if(pwd_buf!=(char *)bb_msg_unknown)
free(pwd_buf);
cmdedit_prompt = prmt_mem_ptr;
- cmdedit_prmt_len = prmt_len - sub_len;
put_prompt();
}
#endif