patch 9.1.0793: xxd: -e does add one extra space
Commit:
https://github.com/vim/vim/commit/c73fc86bf8fe318aab41900dd92e380143211cda
Author: Aapo Rantalainen <[email protected]>
Date: Sat Oct 19 15:54:57 2024 +0200
patch 9.1.0793: xxd: -e does add one extra space
Problem: xxd: -e does add one extra space
Solution: fix it, refactor and merge some code
(Aapo Rantalainen)
fixes: #15898
closes: #15899
Signed-off-by: Aapo Rantalainen <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/src/testdir/test_xxd.vim b/src/testdir/test_xxd.vim
index 570687151..f10c2447d 100644
--- a/src/testdir/test_xxd.vim
+++ b/src/testdir/test_xxd.vim
@@ -485,12 +485,12 @@ func Test_xxd_little_endian_with_cols()
enew!
call writefile(["ABCDEF"], 'Xxdin', 'D')
exe 'r! ' .. s:xxd_cmd .. ' -e -c6 ' .. ' Xxdin'
- call assert_equal('00000000: 44434241 4645 ABCDEF', getline(2))
+ call assert_equal('00000000: 44434241 4645 ABCDEF', getline(2))
enew!
call writefile(["ABCDEFGHI"], 'Xxdin', 'D')
exe 'r! ' .. s:xxd_cmd .. ' -e -c9 ' .. ' Xxdin'
- call assert_equal('00000000: 44434241 48474645 49 ABCDEFGHI',
getline(2))
+ call assert_equal('00000000: 44434241 48474645 49 ABCDEFGHI',
getline(2))
bwipe!
endfunc
diff --git a/src/version.c b/src/version.c
index 93187e847..8c389ff57 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 793,
/**/
792,
/**/
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index 63f516c12..b1050e9da 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -64,6 +64,7 @@
* 10.02.2024 fix buffer-overflow when writing color output to buffer, #14003
* 10.05.2024 fix another buffer-overflow when writing colored output to
buffer, #14738
* 10.09.2024 Support -b and -i together, #15661
+ * 19.10.2024 -e did add an extra space #15899
*
* (c) 1990-1998 by Juergen Weigert ([email protected])
*
@@ -144,7 +145,7 @@ extern void perror __P((char *));
# endif
#endif
-char version[] = "xxd 2024-09-15 by Juergen Weigert et al.";
+char version[] = "xxd 2024-10-19 by Juergen Weigert et al.";
#ifdef WIN32
char osver[] = " (Win32)";
#else
@@ -1110,9 +1111,6 @@ main(int argc, char *argv[])
else
c = addrlen + 3 + (grplen * cols - 1)/octspergrp + p*12;
- if (hextype == HEX_LITTLEENDIAN)
- c += 1;
-
COLOR_PROLOGUE
begin_coloring_char(l,&c,e,ebcdic);
#if defined(__MVS__) && __CHARSET_LIB == 0
@@ -1126,21 +1124,15 @@ main(int argc, char *argv[])
l[c++] = (e > 31 && e < 127) ? e : '.';
#endif
COLOR_EPILOGUE
- n++;
- if (++p == cols)
- {
- l[c++] = '
';
- l[c++] = '
- xxdline(fpo, l, autoskip ? nonzero : 1);
- nonzero = 0;
- p = 0;
- }
}
else /*no colors*/
{
if (ebcdic)
e = (e < 64) ? '.' : etoa64[e-64];
+ if (hextype == HEX_LITTLEENDIAN)
+ c -= 1;
+
c += addrlen + 3 + p;
l[c++] =
#if defined(__MVS__) && __CHARSET_LIB == 0
@@ -1149,16 +1141,16 @@ main(int argc, char *argv[])
(e > 31 && e < 127)
#endif
? e : '.';
- n++;
- if (++p == cols)
- {
- l[c++] = '
';
- l[c] = '
- xxdline(fpo, l, autoskip ? nonzero : 1);
- nonzero = 0;
- p = 0;
- }
}
+ n++;
+ if (++p == cols)
+ {
+ l[c++] = '
';
+ l[c] = '
+ xxdline(fpo, l, autoskip ? nonzero : 1);
+ nonzero = 0;
+ p = 0;
+ }
}
if (p)
{
@@ -1166,8 +1158,6 @@ main(int argc, char *argv[])
l[c] = '
if (color)
{
- c++;
-
x = p;
if (hextype == HEX_LITTLEENDIAN)
{
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1t2A01-00AVP7-DQ%40256bit.org.