commit 9ed5a8907d9f6315a532b49df8c21d073ca1ed62
parent b066c30b69f5c9c56003b50e830933ecacd047ff
Author: evenfri <evenfri256@gmail.com>
Date: Mon, 10 Aug 2026 02:51:24 +0800
fix: strtok and strchr
Diffstat:
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/strchr.c b/strchr.c
@@ -7,15 +7,15 @@
char *strchr(const char *s, int c) {
char chr = (char)c;
- int i = 0;
- while (s[i] != 0) {
- if (s[i] == chr)
- return (char*)s + i;
- if (s[i] == '\0')
- return NULL;
- i++;
+ while (*s != '\0') {
+ if (*s == chr)
+ return (char *)s;
+ s++;
}
+ if (chr == '\0')
+ return (char *)s;
+
return NULL;
}
diff --git a/strtok.c b/strtok.c
@@ -12,12 +12,12 @@ char* strtok(char *str, const char *delim) {
next_token = str;
}
- if ( next_token == NULL || * next_token == '\0') {
+ if (next_token == NULL) {
return NULL;
}
char *token_start = next_token;
- while (*token_start && strchr(delim, *token_start)) {
+ while (*token_start != '\0' && strchr(delim, *token_start) != NULL) {
token_start++;
}
@@ -27,7 +27,7 @@ char* strtok(char *str, const char *delim) {
}
char *token_end = token_start;
- while (*token_end && !strchr(delim, *token_end)) {
+ while (*token_end != '\0' && strchr(delim, *token_end) == NULL) {
token_end++;
}
diff --git a/syscall.c b/syscall.c
@@ -1,5 +1,5 @@
/*
- * syscall.c - syscalls wrapper
+ * syscall.c - syscalls wrapper
* Copyright (C) 2026. All rights reserved.
*/