From 7b55f180e2080d1fe628049cda2e0e9ffcaa8532 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Thu, 27 Mar 2025 20:44:23 -0400 Subject: Phase out strchrnul --- src/stdlib/files.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/stdlib/files.c') diff --git a/src/stdlib/files.c b/src/stdlib/files.c index cf777689..4420bd12 100644 --- a/src/stdlib/files.c +++ b/src/stdlib/files.c @@ -70,7 +70,7 @@ public char *file_base_name(const char *path) const char *slash = strrchr(path, '/'); if (slash) path = slash + 1; assert(!isdigit(*path)); - const char *end = strchrnul(path, '.'); + const char *end = path + strcspn(path, "."); size_t len = (size_t)(end - path); char *buf = GC_MALLOC_ATOMIC(len+1); strncpy(buf, path, len); @@ -83,7 +83,7 @@ public char *file_base_id(const char *path) const char *slash = strrchr(path, '/'); if (slash) path = slash + 1; assert(!isdigit(*path)); - const char *end = strchrnul(path, '.'); + const char *end = path + strcspn(path, "."); size_t len = (size_t)(end - path); char *buf = GC_MALLOC_ATOMIC(len+1); strncpy(buf, path, len); @@ -307,7 +307,7 @@ public int highlight_error(file_t *file, const char *start, const char *end, con printed += fprintf(stderr, "\n"); - const char *eol = strchrnul(line, '\n'); + const char *eol = line + strcspn(line, "\r\n"); if (print_carets && start >= line && start < eol && line <= start) { for (int num = 0; num < digits; num++) printed += fputc(' ', stderr); -- cgit v1.2.3