35aecce3a3
* add bvi package * add new package: cgdb * add gdb in cgdb's TERMUX_PKG_DEPENDS * add new package: redir * bvi package revision 1: fix column number issue with clang (gcc does not seem to have this issue) bvi (compiled with clang) incorrectly displayed only 12 bytes for each line on a 80-column terminal (instead of 16 bytes normally). command :set cm=## also had similar problems. I found the issue was caused by the following statements: sprintf(addr_form, "%%0%dllX ", AnzAdd); AnzAdd = sprintf(tmp, addr_form, block_begin); ('block_begin''s data type is off_t) gcc automatically typecasts 'block_begin' from off_t to loff_t, on the otherhand, clang takes address of 'block_begin' and uses it as loff_t thus writes some garbage value in 'tmp' string.
31 lines
952 B
Diff
31 lines
952 B
Diff
--- bvi-1.4.0/bvi.c 2014-10-07 13:09:45.000000000 -0700
|
|
+++ src/bvi.c 2017-02-19 00:35:24.587363303 -0800
|
|
@@ -276,7 +276,7 @@
|
|
if (AnzAdd > sizeof(block_begin) * 2)
|
|
AnzAdd = sizeof(block_begin) * 2;
|
|
sprintf(addr_form, "%%0%dllX ", AnzAdd);
|
|
- AnzAdd = sprintf(tmp, addr_form, block_begin);
|
|
+ AnzAdd = sprintf(tmp, addr_form, (long long unsigned)block_begin);
|
|
}
|
|
|
|
Anzahl = ((COLS - AnzAdd - 1) / 16) * 4;
|
|
@@ -729,7 +729,6 @@
|
|
char *arg;
|
|
{
|
|
off_t val;
|
|
- extern int errno;
|
|
char *poi;
|
|
|
|
errno = 0;
|
|
--- bvi-1.4.0/set.c 2014-09-30 05:00:53.000000000 -0700
|
|
+++ src/set.c 2017-02-19 00:36:08.927600541 -0800
|
|
@@ -135,7 +135,7 @@
|
|
if (((COLS - AnzAdd - 1) / 4) >= P(P_CM)) {
|
|
Anzahl = P(P_CM);
|
|
} else {
|
|
- Anzahl = P(P_CM) = ((COLS - AnzAdd - 1) / 4);
|
|
+ Anzahl = P(P_CM) = ((COLS - AnzAdd - 1) / 16) * 4;
|
|
}
|
|
maxx = Anzahl * 4 + AnzAdd + 1;
|
|
Anzahl3 = Anzahl * 3;
|