[hackers] [sbase] sort: readability; check strndup return value || Jakob Kramer

From: <git_AT_suckless.org>
Date: Wed, 30 Apr 2014 16:17:05 +0200

commit 0bc6b1377b44ad76805b991cd1f5ba2655651bb8
Author: Jakob Kramer <jakob.kramer_AT_gmx.de>
Date: Wed Apr 30 16:08:11 2014 +0200

    sort: readability; check strndup return value

diff --git a/sort.c b/sort.c
index 89c9404..6c3b6f9 100644
--- a/sort.c
+++ b/sort.c
_AT_@ -181,14 +181,16 @@ parse_keydef(struct keydef *kd, char *s)
 static char *
 next_nonblank(char *s)
 {
- for(; *s && isblank(*s); s++);
+ while(*s && isblank(*s))
+ s++;
         return s;
 }
 
 static char *
 next_blank(char *s)
 {
- for(; *s && !isblank(*s); s++);
+ while(*s && !isblank(*s))
+ s++;
         return s;
 }
 
_AT_@ -197,29 +199,35 @@ columns(char *line, const struct keydef *kd)
 {
         char *rest;
         char *start, *end;
+ char *res;
         unsigned int i;
 
- for(rest = line, i = 0; i < kd->start_column; i++) {
+ rest = line;
+ for(i = 0; i < kd->start_column; i++) {
                 if(i != 0)
                         rest = next_blank(rest);
                 rest = next_nonblank(rest);
         }
- for(i = 1; i < kd->start_char && !isblank(*rest); i++, rest++);
+ for(i = 1; i < kd->start_char && *rest && !isblank(*rest); i++)
+ rest++;
         start = rest;
 
         if(kd->end_column) {
- for(rest = line, i = 0; i < kd->end_column; i++) {
+ rest = line;
+ for(i = 0; i < kd->end_column; i++) {
                         if(i != 0)
                                 rest = next_blank(rest);
                         rest = next_nonblank(rest);
                 }
                 if(kd->end_char)
- for(i = 1; i < kd->end_char && *rest && !isblank(*rest); i++, rest++);
+ for(i = 1; i < kd->end_char && *rest && !isblank(*rest); i++)
+ rest++;
                 else
                         rest = next_blank(rest);
- end = rest;
- } else {
+ end = rest - 1;
+ } else
                 end = rest + strlen(rest);
- }
- return strndup(start, end - start);
+ if((res = strndup(start, end - start)) == NULL)
+ enprintf(2, "strndup:");
+ return res;
 }
Received on Wed Apr 30 2014 - 16:17:05 CEST

This archive was generated by hypermail 2.3.0 : Wed Apr 30 2014 - 16:24:08 CEST