mirror of
https://github.com/limine-bootloader/limine
synced 2025-01-29 08:15:30 +03:00
lib/libc: move some functions to libc.c
This commit is contained in:
parent
b5c6bdcf10
commit
7ac5935b5d
45
common/lib/libc.c
Normal file
45
common/lib/libc.c
Normal file
@ -0,0 +1,45 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <lib/libc.h>
|
||||
|
||||
size_t strnlen(const char *str, size_t maxlen) {
|
||||
size_t len;
|
||||
|
||||
for (len = 0; len < maxlen && str[len]; len++);
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
void *memchr(const void *ptr, int ch, size_t n) {
|
||||
uint8_t *p = (uint8_t *)ptr;
|
||||
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
if (p[i] == ch) {
|
||||
return (void *)ptr + i;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *strchr(const char *str, int ch) {
|
||||
for (size_t i = 0; str[i]; i++) {
|
||||
if (str[i] == ch) {
|
||||
return (char *)str + i;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *strrchr(const char *str, int ch) {
|
||||
char *p = NULL;
|
||||
|
||||
for (size_t i = 0; str[i]; i++) {
|
||||
if (str[i] == ch) {
|
||||
p = (char *)str + i;
|
||||
}
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
@ -112,48 +112,6 @@ size_t strlen(const char *str) {
|
||||
return len;
|
||||
}
|
||||
|
||||
size_t strnlen(const char *str, size_t maxlen) {
|
||||
size_t len;
|
||||
|
||||
for (len = 0; len < maxlen && str[len]; len++);
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
void *memchr(const void *ptr, int ch, size_t n) {
|
||||
uint8_t *p = (uint8_t *)ptr;
|
||||
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
if (p[i] == ch) {
|
||||
return (void *)ptr + i;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *strchr(const char *str, int ch) {
|
||||
for (size_t i = 0; str[i]; i++) {
|
||||
if (str[i] == ch) {
|
||||
return (char *)str + i;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *strrchr(const char *str, int ch) {
|
||||
char *p = NULL;
|
||||
|
||||
for (size_t i = 0; str[i]; i++) {
|
||||
if (str[i] == ch) {
|
||||
p = (char *)str + i;
|
||||
}
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
int inet_pton(const char *src, void *dst) {
|
||||
uint8_t array[4];
|
||||
const char *current = src;
|
||||
|
Loading…
x
Reference in New Issue
Block a user