mirror of
https://github.com/Tom-on64/kern.git
synced 2026-11-03 18:22:22 +00:00
28 lines
608 B
C
28 lines
608 B
C
#include <string.h>
|
|
|
|
int strcmp(const char* str1, const char* str2) {
|
|
while (*str1 != '\0' && *str1 == *str2) {
|
|
str1++;
|
|
str2++;
|
|
}
|
|
|
|
uint8_t c1 = (*(uint8_t*)str1);
|
|
uint8_t c2 = (*(uint8_t*)str2);
|
|
|
|
return ((c1 < c2) ? -1 : (c1 > c2));
|
|
}
|
|
|
|
int strncmp(const char* str1, const char* str2, size_t n) {
|
|
if (n == 0) { return 0; }
|
|
while (n-- > 0 && *str1 == *str2) {
|
|
if (n == 0 || *str1 == '\0') { return 0; }
|
|
str1++;
|
|
str2++;
|
|
}
|
|
|
|
uint8_t c1 = (*(uint8_t*)str1);
|
|
uint8_t c2 = (*(uint8_t*)str2);
|
|
|
|
return ((c1 < c2) ? -1 : (c1 > c2));
|
|
}
|