shuf: do not use strings for -i RANGE case
function old new delta shuf_main 482 496 +14 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
190693ced1
commit
102f0d0d07
@ -79,7 +79,6 @@ int shuf_main(int argc, char **argv)
|
|||||||
/* Prepare lines for shuffling - either: */
|
/* Prepare lines for shuffling - either: */
|
||||||
if (opts & OPT_e) {
|
if (opts & OPT_e) {
|
||||||
/* make lines from command-line arguments */
|
/* make lines from command-line arguments */
|
||||||
|
|
||||||
numlines = argc;
|
numlines = argc;
|
||||||
lines = argv;
|
lines = argv;
|
||||||
} else
|
} else
|
||||||
@ -103,7 +102,7 @@ int shuf_main(int argc, char **argv)
|
|||||||
numlines = (hi+1) - lo;
|
numlines = (hi+1) - lo;
|
||||||
lines = xmalloc(numlines * sizeof(lines[0]));
|
lines = xmalloc(numlines * sizeof(lines[0]));
|
||||||
for (i = 0; i < numlines; i++) {
|
for (i = 0; i < numlines; i++) {
|
||||||
lines[i] = xstrdup(utoa(lo));
|
lines[i] = (char*)(uintptr_t)lo;
|
||||||
lo++;
|
lo++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -144,7 +143,10 @@ int shuf_main(int argc, char **argv)
|
|||||||
eol = '\0';
|
eol = '\0';
|
||||||
|
|
||||||
for (i = 0; i < numlines; i++) {
|
for (i = 0; i < numlines; i++) {
|
||||||
printf("%s%c", lines[i], eol);
|
if (opts & OPT_i)
|
||||||
|
printf("%u%c", (unsigned)(uintptr_t)lines[i], eol);
|
||||||
|
else
|
||||||
|
printf("%s%c", lines[i], eol);
|
||||||
}
|
}
|
||||||
|
|
||||||
fflush_stdout_and_exit(EXIT_SUCCESS);
|
fflush_stdout_and_exit(EXIT_SUCCESS);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user