← Commit list

d957b9537

Paul Fox
Paul Fox
2005-11-28
SOURCE BUG Duration: 8s

Subject

fix bug #474: 0000474: vi crashes often

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

editors/vi.c+3 -14
@@ -1615,16 +1615,6 @@ static Byte *char_insert(Byte * p, Byte c) // insert the char c at 'p'
if ((p[-1] != '\n') && (dot>text)) {
p--;
p = text_hole_delete(p, p); // shrink buffer 1 char
-#ifdef CONFIG_FEATURE_VI_DOT_CMD
- // also rmove char from last_modifying_cmd
- if (last_modifying_cmd != 0 && strlen((char *) last_modifying_cmd) > 0) {
- Byte *q;
-
- q = last_modifying_cmd;
- q[strlen((char *) q) - 1] = '\0'; // erase BS
- q[strlen((char *) q) - 1] = '\0'; // erase prev char
- }
-#endif /* CONFIG_FEATURE_VI_DOT_CMD */
}
} else {
// insert a char into text[]
@@ -2009,11 +1999,10 @@ static void start_new_cmd_q(Byte c)
memset(last_modifying_cmd, '\0', BUFSIZ); // clear new cmd queue
// if there is a current cmd count put it in the buffer first
if (cmdcnt > 0)
- sprintf((char *) last_modifying_cmd, "%d", cmdcnt);
- // save char c onto queue
- last_modifying_cmd[strlen((char *) last_modifying_cmd)] = c;
+ sprintf((char *) last_modifying_cmd, "%d%c", cmdcnt, c);
+ else // just save char c onto queue
+ last_modifying_cmd[0] = c;
adding2q = 1;
- return;
}
static void end_cmd_q(void)