diff options
-rw-r--r-- | include.c | 7 | ||||
-rw-r--r-- | main.c | 4 | ||||
-rw-r--r-- | parse.c | 4 |
3 files changed, 6 insertions, 9 deletions
@@ -273,12 +273,9 @@ find_full_inc_path(const char *file, const char *include, int type) * in the directory of the file being parsed. */ if ((type == INCLUDEDOT) || (type == INCLUDENEXTDOT)) { - const char *p; + const char *p = strrchr(file, '/'); - for (p = file + strlen(file); p > file; p--) - if (*p == '/') - break; - if (p == file) { + if ((p == NULL) || (p == file)) { strcpy(path, include); } else { @@ -728,9 +728,9 @@ base_name(const char *in_file) if (file == NULL) fatalerr("strdup() failure in %s()\n", __func__); - for (p = file + strlen(file); p > file && *p != '.'; p--); + p = strrchr(file, '.'); - if (*p == '.') + if (p != NULL) *p = '\0'; return (file); } @@ -336,7 +336,7 @@ define2(const char *name, const char *val, struct inclist *file) const char *s2; int middle = (first + last) / 2; - /* Fast inline strchr() */ + /* Fast inline strcmp() */ s1 = name; s2 = file->i_defs[middle]->s_name; while (*s1++ == *s2++) @@ -427,7 +427,7 @@ slookup(const char *symbol, struct inclist *file) const char *s2; int middle = (first + last) / 2; - /* Fast inline strchr() */ + /* Fast inline strcmp() */ s1 = symbol; s2 = file->i_defs[middle]->s_name; while (*s1++ == *s2++) |