hw2 done
This commit is contained in:
25
lib/string.c
25
lib/string.c
@@ -16,11 +16,30 @@ int strcmp(const char *a, const char *b)
|
||||
return 1;
|
||||
}
|
||||
|
||||
char *strcpy(char *destination, const char *source)
|
||||
{
|
||||
char *ret = destination;
|
||||
while (*source != '\0')
|
||||
*destination++ = *source++;
|
||||
*destination = '\0';
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
size_t strlen(const char *str)
|
||||
{
|
||||
size_t ret = 0;
|
||||
while (*str != '\0')
|
||||
++ret, ++str;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void *memcpy(void *dest, const void *src, size_t count)
|
||||
{
|
||||
void *ret = dest;
|
||||
for (const byte_t *p = src; count > 0; --count, ++p, ++dest)
|
||||
*(byte_t *)dest = *p;
|
||||
for (const uint8_t *p = src; count > 0; --count, ++p, ++dest)
|
||||
*(uint8_t *)dest = *p;
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -28,7 +47,7 @@ void *memcpy(void *dest, const void *src, size_t count)
|
||||
void *memzero(void *start, void *end)
|
||||
{
|
||||
void *ret = start;
|
||||
for (byte_t *p = start; p < (byte_t *)end; ++p)
|
||||
for (uint8_t *p = start; p < (uint8_t *)end; ++p)
|
||||
*p = 0;
|
||||
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user