* src/mktemp.c: When --suffix was supply in cmdline, the template points to the meraged buffer(dest_name). As X is counted from template which not contains suffix, So the output should be cut.
Signed-off-by: lvgenggeng <lvgengg...@uniontech.com> --- src/mktemp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mktemp.c b/src/mktemp.c index 5f8e5155d..d194aeff5 100644 --- a/src/mktemp.c +++ b/src/mktemp.c @@ -156,7 +156,7 @@ main (int argc, char **argv) int status = EXIT_SUCCESS; size_t x_count; size_t suffix_len; - char *dest_name; + char *dest_name = nullptr; initialize_main (&argc, &argv); set_program_name (argv[0]); @@ -255,7 +255,12 @@ main (int argc, char **argv) } x_count = count_consecutive_X_s (template, suffix - template); if (x_count < 3) - error (EXIT_FAILURE, 0, _("too few X's in template %s"), quote (template)); + { + /* when suffix was appended to template, template should be cut. */ + if (template == dest_name) + template[suffix - template] = '\0'; + error (EXIT_FAILURE, 0, _("too few X's in template %s"), quote (template)); + } if (use_dest_dir) { -- 2.20.1