commit ccfb1eb0f1a4b7b907dbac85e6beb35c02833d21
parent 7e3a9c3aa6b44f4be9891e83ccadf61c1fd34a40
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Mon, 4 Jul 2016 20:51:11 +0200
tweaks: rearrange a function in my style, and rename a variable
Diffstat:
1 file changed, 13 insertions(+), 17 deletions(-)
diff --git a/src/utils.c b/src/utils.c
@@ -81,28 +81,24 @@ bool parse_num(const char *str, ssize_t *val)
* *line and *column. Return FALSE on error, and TRUE otherwise. */
bool parse_line_column(const char *str, ssize_t *line, ssize_t *column)
{
- bool retval = TRUE;
- const char *comma;
-
- assert(str != NULL);
+ bool retval;
+ char *firstpart;
+ const char *comma = strchr(str, ',');
- comma = strchr(str, ',');
+ if (comma == NULL)
+ return parse_num(str, line);
- if (comma != NULL) {
- if (!parse_num(comma + 1, column))
- return FALSE;
- }
+ if (!parse_num(comma + 1, column))
+ return FALSE;
- if (comma != NULL) {
- char *str_line = mallocstrncpy(NULL, str, comma - str + 1);
- str_line[comma - str] = '\0';
+ if (comma == str)
+ return TRUE;
- if (str_line[0] != '\0' && !parse_num(str_line, line))
- retval = FALSE;
+ firstpart = strdup(str);
+ firstpart[comma - str] = '\0';
- free(str_line);
- } else
- return parse_num(str, line);
+ retval = parse_num(firstpart, line);
+ free(firstpart);
return retval;
}