patch 9.1.0857: xxd: --- is incorrectly recognized as end-of-options
Commit:
https://github.com/vim/vim/commit/4b9fa957125e33951a4a830414ccb70172976397
Author: DungSaga <[email protected]>
Date: Mon Nov 11 22:19:50 2024 +0100
patch 9.1.0857: xxd: --- is incorrectly recognized as end-of-options
Problem: xxd: --- is incorrectly recognized as end-of-options
Solution: improve xxds end-of-option parser (DungSaga)
closes: #9285
Signed-off-by: DungSaga <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/src/testdir/test_xxd.vim b/src/testdir/test_xxd.vim
index f10c2447d..690c8daf7 100644
--- a/src/testdir/test_xxd.vim
+++ b/src/testdir/test_xxd.vim
@@ -356,7 +356,7 @@ endfunc
" Various ways with wrong arguments that trigger the usage output.
func Test_xxd_usage()
- for arg in ['-h', '-c', '-g', '-o', '-s', '-l', '-X', '-R', 'one two three']
+ for arg in ['-h', '-c', '-g', '-o', '-s', '-l', '-X', '-R', 'one two three',
'----', '---']
new
exe 'r! ' . s:xxd_cmd . ' ' . arg
call assert_match("Usage:", join(getline(1, 3)))
@@ -364,6 +364,13 @@ func Test_xxd_usage()
endfor
endfunc
+func Test_xxd_end_of_options()
+ new
+ exe 'r! ' . s:xxd_cmd . ' -- random-file-' . rand()
+ call assert_match('random-file-.*: No such file or directory',
join(getline(1, 3)))
+ bwipe!
+endfunc
+
func Test_xxd_ignore_garbage()
new
exe 'r! printf "
xxxx 0: 42 42" | ' . s:xxd_cmd . ' -r'
diff --git a/src/version.c b/src/version.c
index 4f66b3de2..5c775b030 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 */
+/**/
+ 857,
/**/
856,
/**/
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index b1050e9da..c22288545 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -65,6 +65,7 @@
* 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
+ * 11.11.2024 improve end-of-options argument parser #9285
*
* (c) 1990-1998 by Juergen Weigert ([email protected])
*
@@ -145,7 +146,7 @@ extern void perror __P((char *));
# endif
#endif
-char version[] = "xxd 2024-10-19 by Juergen Weigert et al.";
+char version[] = "xxd 2024-11-11 by Juergen Weigert et al.";
#ifdef WIN32
char osver[] = " (Win32)";
#else
@@ -843,7 +844,7 @@ main(int argc, char *argv[])
else
exit_with_usage();
}
- else if (!strcmp(pp, "--")) /* end of options */
+ else if (!strcmp(argv[1], "--")) /* end of options */
{
argv++;
argc--;
--
--
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 visit
https://groups.google.com/d/msgid/vim_dev/E1tAbz1-00F8TM-Lk%40256bit.org.