aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2023-04-13 00:10:10 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2023-04-13 03:02:11 +0200
commit8b72877babb20be9bb46c4437f5e1870390c29cc (patch)
treea688bf5a44babe327e4e7d8b897a84716886981c /coreutils
parent7c1f975cddccff1e9705e750eed8a54131d7a392 (diff)
downloadbusybox-w32-8b72877babb20be9bb46c4437f5e1870390c29cc.tar.gz
busybox-w32-8b72877babb20be9bb46c4437f5e1870390c29cc.tar.bz2
busybox-w32-8b72877babb20be9bb46c4437f5e1870390c29cc.zip
shuf: another tweak to COMMON_PREFIX_HACK code
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/shuf.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/coreutils/shuf.c b/coreutils/shuf.c
index 107899a10..466969745 100644
--- a/coreutils/shuf.c
+++ b/coreutils/shuf.c
@@ -67,7 +67,7 @@ static void shuffle_lines(char **lines, unsigned numlines, unsigned outlines)
67} 67}
68 68
69/* We can handle insanity like this: 69/* We can handle insanity like this:
70 * shuf -i 3333333333333333333333333333333333333333333333333333333333333123456789001-3333333333333333333333333333333333333333333333333333333333333123456789019 70 * shuf -i 333333333333333333333333333333001-333333333333333333333333333333019
71 * but do we want to have +200 bytes of code (~40% code growth)? 71 * but do we want to have +200 bytes of code (~40% code growth)?
72 */ 72 */
73#define COMMON_PREFIX_HACK 0 73#define COMMON_PREFIX_HACK 0
@@ -128,16 +128,12 @@ int shuf_main(int argc, char **argv)
128 if (padding_width > 5 && padding_width == strlen(b)) { 128 if (padding_width > 5 && padding_width == strlen(b)) {
129 /* How long is it? */ 129 /* How long is it? */
130 pfx = a; 130 pfx = a;
131 while (isdigit(*a) && *a == *b) { 131 while (isdigit(*a) && *a == *b
132 && a[1] /* "111111-111111" case: avoid xatoull("") */
133 ) {
132 a++; 134 a++;
133 b++; 135 b++;
134 } 136 }
135 if (*a == '\0') {
136 /* "123456-123456", and we 'ate' all of them */
137 /* prevent trying to xatoull("") */
138 a--;
139 b--;
140 }
141 pfx_len = a - pfx; /* can end up being 0 */ 137 pfx_len = a - pfx; /* can end up being 0 */
142 padding_width -= pfx_len; 138 padding_width -= pfx_len;
143 } else { 139 } else {