mirror of
https://github.com/mirror/busybox.git
synced 2025-09-10 22:45:25 +02:00
shuf: another tweak to COMMON_PREFIX_HACK code
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -67,7 +67,7 @@ static void shuffle_lines(char **lines, unsigned numlines, unsigned outlines)
|
||||
}
|
||||
|
||||
/* We can handle insanity like this:
|
||||
* shuf -i 3333333333333333333333333333333333333333333333333333333333333123456789001-3333333333333333333333333333333333333333333333333333333333333123456789019
|
||||
* shuf -i 333333333333333333333333333333001-333333333333333333333333333333019
|
||||
* but do we want to have +200 bytes of code (~40% code growth)?
|
||||
*/
|
||||
#define COMMON_PREFIX_HACK 0
|
||||
@@ -128,16 +128,12 @@ int shuf_main(int argc, char **argv)
|
||||
if (padding_width > 5 && padding_width == strlen(b)) {
|
||||
/* How long is it? */
|
||||
pfx = a;
|
||||
while (isdigit(*a) && *a == *b) {
|
||||
while (isdigit(*a) && *a == *b
|
||||
&& a[1] /* "111111-111111" case: avoid xatoull("") */
|
||||
) {
|
||||
a++;
|
||||
b++;
|
||||
}
|
||||
if (*a == '\0') {
|
||||
/* "123456-123456", and we 'ate' all of them */
|
||||
/* prevent trying to xatoull("") */
|
||||
a--;
|
||||
b--;
|
||||
}
|
||||
pfx_len = a - pfx; /* can end up being 0 */
|
||||
padding_width -= pfx_len;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user