[hackers] [sbase] sort: don't evaluate if clause || Jakob Kramer

From: <git_AT_suckless.org>
Date: Sun, 04 May 2014 01:15:43 +0200

commit a62a2197a8e49f2c40f6c7c10a28339f1dd28dbe
Author: Jakob Kramer <jakob.kramer_AT_gmx.de>
Date: Sat May 3 19:06:20 2014 +0200

    sort: don't evaluate if clause
    
    this fixes that you could specify a key
    definition like "-k 1.2.3", which is incorrect.

diff --git a/sort.c b/sort.c
index 3614853..63b9509 100644
--- a/sort.c
+++ b/sort.c
_AT_@ -103,7 +103,7 @@ addkeydef(char *def)
         if(!head)
                 head = node;
         if(parse_keydef(&node->keydef, def))
- enprintf(2, "parse_keydef:");
+ enprintf(2, "faulty key definition
");
         if(curr)
                 curr->next = node;
         node->next = NULL;
_AT_@ -155,6 +155,7 @@ static int
 parse_keydef(struct keydef *kd, char *s)
 {
         char *rest = s;
+
         kd->start_column = 1;
         kd->start_char = 1;
         /* 0 means end of line */
_AT_@ -170,9 +171,9 @@ parse_keydef(struct keydef *kd, char *s)
                 kd->end_column = strtoul(rest+1, &rest, 10);
                 if(kd->end_column < kd->start_column)
                         enprintf(2, ",%u is too small
", kd->end_column);
+ if(*rest == '.')
+ kd->end_char = strtoul(rest+1, &rest, 10);
         }
- if(*rest == '.')
- kd->end_char = strtoul(rest+1, &rest, 10);
         if(*rest != '
Received on Sun May 04 2014 - 01:15:43 CEST

This archive was generated by hypermail 2.3.0 : Sun May 04 2014 - 01:24:11 CEST