seq(1): Require user-provided format strings to contain a conversion
This matches GNU seq, for example. For users that are looking for similar functionality, 'jot -b foo N' will print 'foo' N times. See jot(1). PR: 236347 Reported by: <y AT maya.st> Sponsored by: Dell EMC Isilon
This commit is contained in:
parent
052d159a8b
commit
905fdc3ff1
@ -310,7 +310,8 @@ valid_format(const char *fmt)
|
||||
}
|
||||
}
|
||||
|
||||
return (conversions <= 1);
|
||||
/* PR 236347 -- user format strings must have a conversion */
|
||||
return (conversions == 1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2018 Conrad Meyer <cem@FreeBSD.org>
|
||||
# Copyright (c) 2019 Conrad Meyer <cem@FreeBSD.org>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -34,7 +34,22 @@ float_rounding_body()
|
||||
atf_check -o inline:'1\n1.1\n1.2\n' seq 1 0.1 1.2
|
||||
}
|
||||
|
||||
atf_test_case format_includes_conversion
|
||||
format_includes_conversion_head()
|
||||
{
|
||||
atf_set "descr" "Check for correct user-provided format strings"
|
||||
}
|
||||
format_includes_conversion_body()
|
||||
{
|
||||
# PR 236347
|
||||
atf_check -s exit:1 -o empty -e match:"invalid format string" \
|
||||
seq -f foo 3
|
||||
atf_check -s exit:0 -o inline:'foo1\nfoo2\n' -e empty \
|
||||
seq -f foo%g 2
|
||||
}
|
||||
|
||||
atf_init_test_cases()
|
||||
{
|
||||
atf_add_test_case float_rounding
|
||||
atf_add_test_case format_includes_conversion
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user