vaseboot/VasEBoot-core/lib/posix_wrap/string.h

114 lines
2.4 KiB
C

/*
* VAS_EBOOT -- GRand Unified Bootloader
* Copyright (C) 2009, 2010 Free Software Foundation, Inc.
*
* VAS_EBOOT is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* VAS_EBOOT is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with VAS_EBOOT. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef VAS_EBOOT_POSIX_STRING_H
#define VAS_EBOOT_POSIX_STRING_H 1
#include <VasEBoot/misc.h>
#include <sys/types.h>
#define HAVE_STRCASECMP 1
static inline VasEBoot_size_t
strlen (const char *s)
{
return VasEBoot_strlen (s);
}
static inline int
strcmp (const char *s1, const char *s2)
{
return VasEBoot_strcmp (s1, s2);
}
static inline int
strcasecmp (const char *s1, const char *s2)
{
return VasEBoot_strcasecmp (s1, s2);
}
static inline void
bcopy (const void *src, void *dest, VasEBoot_size_t n)
{
VasEBoot_memcpy (dest, src, n);
}
static inline char *
strcpy (char *dest, const char *src)
{
return VasEBoot_strcpy (dest, src);
}
static inline char *
strstr (const char *haystack, const char *needle)
{
return VasEBoot_strstr (haystack, needle);
}
static inline char *
strchr (const char *s, int c)
{
return VasEBoot_strchr (s, c);
}
static inline char *
strncpy (char *dest, const char *src, VasEBoot_size_t n)
{
return VasEBoot_strncpy (dest, src, n);
}
static inline int
strcoll (const char *s1, const char *s2)
{
return VasEBoot_strcmp (s1, s2);
}
static inline void *
memchr (const void *s, int c, VasEBoot_size_t n)
{
return VasEBoot_memchr (s, c, n);
}
static inline char *
strncat (char *dest, const char *src, VasEBoot_size_t n)
{
const char *end;
char *str = dest;
VasEBoot_size_t src_len;
dest += VasEBoot_strlen (dest);
end = VasEBoot_memchr (src, '\0', n);
if (end != NULL)
src_len = (VasEBoot_size_t) (end - src);
else
src_len = n;
dest[src_len] = '\0';
VasEBoot_memcpy (dest, src, src_len);
return str;
}
#define memcmp VasEBoot_memcmp
#define memcpy VasEBoot_memcpy
#define memmove VasEBoot_memmove
#define memset VasEBoot_memset
#endif