Added memchr(3).

This commit is contained in:
Jonas 'Sortie' Termansen 2012-01-09 01:38:44 +01:00
parent 10a37e1f98
commit 1824dd6867
2 changed files with 11 additions and 1 deletions

View File

@ -33,6 +33,7 @@ __BEGIN_DECLS
@include(size_t.h)
@include(locale_t.h)
void* memchr(const void*, int, size_t);
int memcmp(const void*, const void*, size_t);
void* memcpy(void* restrict, const void* restrict, size_t);
void* memset(void*, int, size_t);
@ -52,7 +53,6 @@ char* strtok_r(char* restrict, const char* restrict, char** restrict);
/* TODO: These are not implemented in libmaxsi/sortix yet. */
#ifndef SORTIX_UNIMPLEMENTED
void* memccpy(void* restrict, const void* restrict, int, size_t);
void* memchr(const void*, int, size_t);
void* memmove(void*, const void*, size_t);
char* stpcpy(char* restrict, const char* restrict);
char* stpncpy(char* restrict, const char* restrict, size_t);

View File

@ -88,5 +88,15 @@ namespace Maxsi
}
return 0;
}
DUAL_FUNCTION(void*, memchr, Seek, (const void* s, int c, size_t size))
{
const byte* buf = (const byte*) s;
for ( size_t i = 0; i < size; i++ )
{
if ( buf[i] == c ) { return (void*) (buf + i); }
}
return NULL;
}
}
}