summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2006-11-26 15:48:54 +0000
committerDenis Vlasenko2006-11-26 15:48:54 +0000
commit664733f1a3cfedbb4cde3815b61d9b87dcc42387 (patch)
tree050c5d6ecabcdbb14c27d8023669f35c0409fbc3
parent0d42ddff7037c138d1df602158f80f9af914e927 (diff)
downloadbusybox-664733f1a3cfedbb4cde3815b61d9b87dcc42387.zip
busybox-664733f1a3cfedbb4cde3815b61d9b87dcc42387.tar.gz
sort: two small optimizations
-rw-r--r--coreutils/sort.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/coreutils/sort.c b/coreutils/sort.c
index 5f91bcb..c23bf9c 100644
--- a/coreutils/sort.c
+++ b/coreutils/sort.c
@@ -70,8 +70,7 @@ static char *get_key(char *str, struct sort_key *key, int flags)
for (i = 1; i < key->range[2*j] + j; i++) {
/* Skip leading blanks or first separator */
if (str[end]) {
- if (!key_separator && isspace(str[end]))
-/* TODO: remove "&& isspace(str[end])" */
+ if (!key_separator)
while (isspace(str[end])) end++;
}
/* Skip body of key */
@@ -158,7 +157,7 @@ static int compare_keys(const void *xarg, const void *yarg)
struct sort_key *key;
for (key = key_list; !retval && key; key = key->next_key) {
- flags = (key->flags) ? key->flags : global_flags;
+ flags = key->flags ? key->flags : global_flags;
/* Chop out and modify key chunks, handling -dfib */
x = get_key(*(char **)xarg, key, flags);
y = get_key(*(char **)yarg, key, flags);
@@ -181,7 +180,8 @@ static int compare_keys(const void *xarg, const void *yarg)
#if ENABLE_FEATURE_SORT_BIG
case FLAG_g: {
char *xx, *yy;
- double dx = strtod(x, &xx), dy = strtod(y, &yy);
+ double dx = strtod(x, &xx);
+ double dy = strtod(y, &yy);
/* not numbers < NaN < -infinity < numbers < +infinity) */
if (x == xx)
retval = (y == yy ? 0 : -1);
@@ -217,26 +217,27 @@ static int compare_keys(const void *xarg, const void *yarg)
else if (!yy)
retval = 1;
else
- retval = (dx==thyme.tm_mon) ? 0 : dx-thyme.tm_mon;
+ retval = (dx == thyme.tm_mon) ? 0 : dx - thyme.tm_mon;
break;
}
/* Full floating point version of -n */
case FLAG_n: {
- double dx = atof(x), dy =atof(y);
+ double dx = atof(x);
+ double dy = atof(y);
retval = (dx > dy) ? 1 : ((dx < dy) ? -1 : 0);
break;
}
- }
+ } /* switch */
/* Free key copies. */
if (x != *(char **)xarg) free(x);
if (y != *(char **)yarg) free(y);
- if (retval) break;
+ /* if (retval) break; - done by for() anyway */
#else
/* Integer version of -n for tiny systems */
case FLAG_n:
retval = atoi(x) - atoi(y);
break;
- }
+ } /* switch */
#endif
}
/* Perform fallback sort if necessary */