" 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)))
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 "\n\r xxxx 0: 42 42" | ' . s:xxd_cmd . ' -r'
* 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 (jnweiger@gmail.com)
*
# 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
else
exit_with_usage();
}
- else if (!strcmp(pp, "--")) /* end of options */
+ else if (!strcmp(argv[1], "--")) /* end of options */
{
argv++;
argc--;