diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-31 19:36:01 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-31 19:36:01 +0000 |
| commit | 50ddabc8592a528c84f236467f4febe9795e2d6b (patch) | |
| tree | 3d39b47cae1ff8aed5dbd78dc9f0458a33b05fe6 | |
| parent | 95b307103a60b7d023929c29952e1e6798564bef (diff) | |
| download | busybox-w32-50ddabc8592a528c84f236467f4febe9795e2d6b.tar.gz busybox-w32-50ddabc8592a528c84f236467f4febe9795e2d6b.tar.bz2 busybox-w32-50ddabc8592a528c84f236467f4febe9795e2d6b.zip | |
less: fix <tab><backspace> buglet
| -rw-r--r-- | miscutils/less.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/miscutils/less.c b/miscutils/less.c index ae936c2fb..20da02208 100644 --- a/miscutils/less.c +++ b/miscutils/less.c | |||
| @@ -212,13 +212,13 @@ static void read_lines(void) | |||
| 212 | } | 212 | } |
| 213 | } | 213 | } |
| 214 | c = readbuf[readpos]; | 214 | c = readbuf[readpos]; |
| 215 | /* backspace? [need this for manpage display] */ | 215 | /* backspace? [needed for manpages] */ |
| 216 | if (c == '\x8' && linepos) { | 216 | /* <tab><bs> is (a) insane and */ |
| 217 | /* (b) harder to do correctly, so we refuse to do it */ | ||
| 218 | if (c == '\x8' && linepos && p[-1] != '\t') { | ||
| 217 | readpos++; /* eat it */ | 219 | readpos++; /* eat it */ |
| 218 | /* We do not consider the case of <tab><bs> */ | ||
| 219 | /* Anyone who has that is pure evil :) */ | ||
| 220 | linepos--; | 220 | linepos--; |
| 221 | *p-- = '\0'; | 221 | *--p = '\0'; |
| 222 | continue; | 222 | continue; |
| 223 | } | 223 | } |
| 224 | if (c == '\t') | 224 | if (c == '\t') |
