From: "Vladimir N. Oleynik" Date: Mon, 5 Sep 2005 15:46:26 +0000 (-0000) Subject: destroy bug [0000404] X-Git-Tag: 1_1_0~775 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f087480da192dcae6977bd373ca617abd2b3b200;p=oweals%2Fbusybox.git destroy bug [0000404] --- 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