view src/os/string.c @ 112:aec919038b60

Started working on redoing the directory structure
author Jonathan Pevarnek <pevarnj@gmail.com>
date Sat, 11 Jun 2011 14:13:21 -0400
parents
children 56447a5e2d2f
line wrap: on
line source

int strcmp(const char *a, const char *b)
{
	while(1) {
		if(*a - *b) return *a - *b;
		if(*a == '\0') return 0;
		a++;
		b++;
	}
	return -1;
}

void strcpy(char *dest, const char *src)
{
	while((*dest++ = *src++));
}

char* strcat(char *dest, const char *src)
{
	char *ret = dest;
	while(*dest&& *++dest); //get to null in first string
	while((*dest++ = *src++));
	return ret;
}

void* memcpy(void *dest, const void *src, size_t num)
{
	size_t i;
	const u8 *from = src;
	u8 *to = dest;
	for(i = 0; i < num; i++)
		to[i] = from[i];
	return dest;
}

void* memset(void *dest, u8 value, size_t num)
{
	size_t i;
	u8 *ptr = dest;
	for(i = 0; i < num; i++, ptr++) {
		*ptr = value;
	}
	return dest;
}

size_t strlen(const char *str)
{
	const char *ptr = str;
	while(*ptr && *++ptr);
	return ptr - str;
}