You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
2.5 KiB
141 lines
2.5 KiB
5 years ago
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
#include <stdarg.h>
|
||
|
#include <stdio.h>
|
||
|
|
||
|
#include <wl_os.h>
|
||
|
|
||
|
void *owl_os_alloc(size_t size)
|
||
|
{
|
||
|
return malloc(size);
|
||
|
}
|
||
|
|
||
|
void *owl_os_realloc(void *ptr, size_t size)
|
||
|
{
|
||
|
return realloc(ptr, size);
|
||
|
}
|
||
|
|
||
|
void owl_os_free(void *p)
|
||
|
{
|
||
|
free(p);
|
||
|
}
|
||
|
|
||
|
void *owl_os_memcpy(void *dst, const void *src, size_t n)
|
||
|
{
|
||
|
return memcpy(dst, src, n);
|
||
|
}
|
||
|
|
||
|
void *owl_os_memset(void *s, int c, size_t n)
|
||
|
{
|
||
|
return memset(s, c, n);
|
||
|
}
|
||
|
|
||
|
void *owl_os_memmove(void *dst, const void *src, size_t n)
|
||
|
{
|
||
|
return memmove(dst, src, n);
|
||
|
}
|
||
|
|
||
|
size_t owl_os_strlen(char *s)
|
||
|
{
|
||
|
return strlen(s);
|
||
|
}
|
||
|
|
||
|
char *owl_os_strncpy(char *dst, const char *src, size_t n)
|
||
|
{
|
||
|
return strncpy(dst, src, n);
|
||
|
}
|
||
|
|
||
|
int owl_os_strncmp(const char *s1, const char *s2, size_t n)
|
||
|
{
|
||
|
return strncmp(s1, s2, n);
|
||
|
}
|
||
|
|
||
|
int owl_os_strcmp(const char *s1, const char *s2)
|
||
|
{
|
||
|
return strcmp(s1, s2);
|
||
|
}
|
||
|
|
||
|
char *owl_os_strcpy(char *dst, const char *src)
|
||
|
{
|
||
|
return strcpy(dst, src);
|
||
|
}
|
||
|
|
||
|
char *owl_os_strdup(const char *s)
|
||
|
{
|
||
|
return strdup(s);
|
||
|
}
|
||
|
|
||
|
char *owl_os_strndup(const char *s, size_t n)
|
||
|
{
|
||
|
return strndup(s, n);
|
||
|
}
|
||
|
|
||
|
int owl_os_memcmp(const void *s1, const void *s2, size_t n)
|
||
|
{
|
||
|
return memcmp(s1, s2, n);
|
||
|
}
|
||
|
|
||
|
long int owl_os_strtol(const char *nptr, char **endptr, int base)
|
||
|
{
|
||
|
return strtol(nptr, endptr, base);
|
||
|
}
|
||
|
|
||
|
char *owl_os_strchr(const char *s, int c)
|
||
|
{
|
||
|
return strchr(s, c);
|
||
|
}
|
||
|
|
||
|
char *owl_os_strrchr(const char *s, int c)
|
||
|
{
|
||
|
return strrchr(s, c);
|
||
|
}
|
||
|
|
||
|
int owl_os_strcasecmp(const char *s1, const char *s2)
|
||
|
{
|
||
|
return strcasecmp(s1, s2);
|
||
|
}
|
||
|
|
||
|
char *owl_os_strstr(const char *haystack, const char *needle)
|
||
|
{
|
||
|
return strstr(haystack, needle);
|
||
|
}
|
||
|
|
||
|
int owl_os_snprintf(char *str, size_t size, const char *format, ...)
|
||
|
{
|
||
|
int ret;
|
||
|
va_list ap;
|
||
|
va_start(ap, format);
|
||
|
ret = vsniprintf(str, size, format, ap);
|
||
|
va_end(ap);
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
/* for debugging only, never called if wl_api was built without debug */
|
||
|
#ifdef CONFIG_OWL
|
||
|
#include "owl_env.h"
|
||
|
int owl_os_printf(const char *fmt, ...)
|
||
|
{
|
||
|
char *str = NULL;
|
||
|
va_list args;
|
||
|
int len;
|
||
|
char *iter;
|
||
|
|
||
|
va_start(args, fmt);
|
||
|
|
||
|
if ((str = malloc(160)) == NULL)
|
||
|
return -1;
|
||
|
|
||
|
if ((len = vsniprintf(str, 160, fmt, args)) < 0) {
|
||
|
free(str);
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
iter = str;
|
||
|
while (*iter)
|
||
|
owl_putc(*iter++);
|
||
|
|
||
|
free(str);
|
||
|
return len;
|
||
|
}
|
||
|
#endif
|