forked from pool/coreutils
c09ae1bc93
** Bug fixes cp -u no longer does unnecessary copying merely because the source has finer-grained time stamps than the destination. od now prints floating-point numbers without losing information, and it no longer omits spaces between floating-point columns in some cases. sort -u with at least two threads could attempt to read through a corrupted pointer. [bug introduced in coreutils-8.6] sort with at least two threads and with blocked output would busy-loop (spinlock) all threads, often using 100% of available CPU cycles to do no work. I.e., "sort < big-file | less" could waste a lot of power. [bug introduced in coreutils-8.6] sort with at least two threads no longer segfaults due to use of pointers into the stack of an expired thread. [bug introduced in coreutils-8.6] sort --compress no longer mishandles subprocesses' exit statuses, no longer hangs indefinitely due to a bug in waiting for subprocesses, and no longer generates many more than NMERGE subprocesses. sort -m -o f f ... f no longer dumps core when file descriptors are limited. csplit no longer corrupts heap when writing more than 999 files, nor does it leak memory for every chunk of input processed [the bugs were present in the initial implementation] tail -F once again notices changes in a currently unavailable remote directory [bug introduced in coreutils-7.5] ** Changes in behavior sort will not create more than 8 threads by default due to diminishing performance gains. Also the --parallel option is no longer restricted to the number of available processors. cp --attributes-only now completely overrides --reflink. Previously a reflink was needlessly attempted. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=77
15 lines
958 B
Diff
15 lines
958 B
Diff
Index: src/sort.c
|
|
===================================================================
|
|
--- src/sort.c.orig 2011-01-03 13:26:31.630195231 +0100
|
|
+++ src/sort.c 2011-01-03 13:26:31.981205354 +0100
|
|
@@ -3127,7 +3127,8 @@ keycompare_mb (const struct line *a, con
|
|
if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1) \
|
|
STATE = state_bak; \
|
|
if (!ignore) \
|
|
- COPY[NEW_LEN++] = TEXT[i++]; \
|
|
+ COPY[NEW_LEN++] = TEXT[i]; \
|
|
+ i++; \
|
|
continue; \
|
|
} \
|
|
\
|