summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2022-12-07 11:17:32 -0800
committerAlan Coopersmith <alan.coopersmith@oracle.com>2023-01-01 14:50:25 -0800
commitc46d912071dd8fad6c1ed532cbef26db34a639e9 (patch)
tree246413a71502c3a638d22099228d27242b4afadb
parent72a6cb64b0aded790e44d97e71434a4eddb91f15 (diff)
Call strrchr() instead of hand coding a custom version
Also correct comments on hand-coded custom strcmp() replacements Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--include.c7
-rw-r--r--main.c4
-rw-r--r--parse.c4
3 files changed, 6 insertions, 9 deletions
diff --git a/include.c b/include.c
index b638011..2a4d659 100644
--- a/include.c
+++ b/include.c
@@ -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 {
diff --git a/main.c b/main.c
index 9ebe101..2ede1bd 100644
--- a/main.c
+++ b/main.c
@@ -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);
}
diff --git a/parse.c b/parse.c
index 5915a81..92431ea 100644
--- a/parse.c
+++ b/parse.c
@@ -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++)