lenochka/kernel_old/string.c
2019-03-29 00:27:42 +02:00

49 lines
711 B
C

#include "string.h"
#include "stdlib.h"
u32 kstrlen(const char* str)
{
u32 len = 0;
while(*str++) len++;
return len;
}
void kstrcpy(char* dst,const char* src)
{
while((*dst++ = *src++)){}
}
void kstrncpy(char* dst,const char* src,u32 maxLen)
{
maxLen=-1;
while((*dst++ = *src++) && --maxLen){}
if(!maxLen) dst[maxLen] = '\0';
}
char* kstrchr(char* src,char chr)
{
while(*src)
{
if(*src == chr) return src;
src++;
}
return NULL;
}
char* kstrrchr(char* src,char chr)
{
char* ptr;
ptr = src+kstrlen(src)-1;
while(ptr != src)
{
if(*ptr == chr) return ptr;
ptr--;
}
return NULL;
}
int kstrncmp(const char* haystack,char* needle)
{
return kmemcmp(haystack,needle,kstrlen(needle));
}