ref: 6dd63b0cb73010c5410f295aafa6461eb270f248
parent: 51eef9bbdb3627254742429c41c36df38348bf42
author: Roberto E. Vargas Caballero <[email protected]>
date: Thu Feb 16 12:12:07 EST 2017
[libc] Make string.h portable between architectures
--- /dev/null
+++ b/libc/include/amd64-sysv/arch/string.h
@@ -1,0 +1,9 @@
+/* See LICENSE file for copyright and license details. */
+
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+#ifndef _SIZET
+typedef unsigned size_t;
+#endif
--- a/libc/include/amd64-sysv/string.h
+++ /dev/null
@@ -1,35 +1,0 @@
-/* See LICENSE file for copyright and license details. */
-#ifndef _STRING_H
-#define _STRING_H
-
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
-#ifndef _SIZET
-typedef unsigned size_t;
-#endif
-
-extern char *strcpy(char *dst, const char *src);
-extern char *strncpy(char *dst, const char *src, size_t n);
-extern char *strcat(char *dst, const char *src);
-extern char *strncat(char *dst, const char *src, size_t n);
-extern size_t strxfrm(char *dst, const char *src, size_t n);
-extern size_t strlen(const char *s);
-extern int strcmp(const char *s1, const char *s2);
-extern int strcoll(const char *s1, const char *s2);
-extern char *strchr(const char *s, int c);
-extern char *strrchr(const char *s, int c);
-extern size_t strspn(const char *s, const char *accept);
-extern size_t strcspn(const char *s, const char *reject);
-extern size_t strpbrk(const char *s, const char *accept);
-extern size_t strstr(const char *s, const char *sub);
-extern char *strtok(const char *s, const char *delim);
-
-extern void *memset(void *s, int c, size_t n);
-extern void *memcpy(void *dst, const void *src, size_t n);
-extern void *memmove(void *dst, const void *src, size_t n);
-extern int memcmp(const void *s1, const void *s2, size_t n);
-extern void *memchr(const void *s, int c, size_t n);
-
-#endif
--- /dev/null
+++ b/libc/include/i386-sysv/arch/string.h
@@ -1,0 +1,9 @@
+/* See LICENSE file for copyright and license details. */
+
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+#ifndef _SIZET
+typedef unsigned size_t;
+#endif
--- a/libc/include/i386-sysv/string.h
+++ /dev/null
@@ -1,35 +1,0 @@
-/* See LICENSE file for copyright and license details. */
-#ifndef _STRING_H
-#define _STRING_H
-
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
-#ifndef _SIZET
-typedef unsigned size_t;
-#endif
-
-extern char *strcpy(char *dst, const char *src);
-extern char *strncpy(char *dst, const char *src, size_t n);
-extern char *strcat(char *dst, const char *src);
-extern char *strncat(char *dst, const char *src, size_t n);
-extern size_t strxfrm(char *dst, const char *src, size_t n);
-extern size_t strlen(const char *s);
-extern int strcmp(const char *s1, const char *s2);
-extern int strcoll(const char *s1, const char *s2);
-extern char *strchr(const char *s, int c);
-extern char *strrchr(const char *s, int c);
-extern size_t strspn(const char *s, const char *accept);
-extern size_t strcspn(const char *s, const char *reject);
-extern size_t strpbrk(const char *s, const char *accept);
-extern size_t strstr(const char *s, const char *sub);
-extern char *strtok(const char *s, const char *delim);
-
-extern void *memset(void *s, int c, size_t n);
-extern void *memcpy(void *dst, const void *src, size_t n);
-extern void *memmove(void *dst, const void *src, size_t n);
-extern int memcmp(const void *s1, const void *s2, size_t n);
-extern void *memchr(const void *s, int c, size_t n);
-
-#endif
--- /dev/null
+++ b/libc/include/qbe/arch/string.h
@@ -1,0 +1,9 @@
+/* See LICENSE file for copyright and license details. */
+
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+#ifndef _SIZET
+typedef unsigned size_t;
+#endif
--- a/libc/include/qbe/string.h
+++ /dev/null
@@ -1,35 +1,0 @@
-/* See LICENSE file for copyright and license details. */
-#ifndef _STRING_H
-#define _STRING_H
-
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
-#ifndef _SIZET
-typedef unsigned size_t;
-#endif
-
-extern char *strcpy(char *dst, const char *src);
-extern char *strncpy(char *dst, const char *src, size_t n);
-extern char *strcat(char *dst, const char *src);
-extern char *strncat(char *dst, const char *src, size_t n);
-extern size_t strxfrm(char *dst, const char *src, size_t n);
-extern size_t strlen(const char *s);
-extern int strcmp(const char *s1, const char *s2);
-extern int strcoll(const char *s1, const char *s2);
-extern char *strchr(const char *s, int c);
-extern char *strrchr(const char *s, int c);
-extern size_t strspn(const char *s, const char *accept);
-extern size_t strcspn(const char *s, const char *reject);
-extern size_t strpbrk(const char *s, const char *accept);
-extern size_t strstr(const char *s, const char *sub);
-extern char *strtok(const char *s, const char *delim);
-
-extern void *memset(void *s, int c, size_t n);
-extern void *memcpy(void *dst, const void *src, size_t n);
-extern void *memmove(void *dst, const void *src, size_t n);
-extern int memcmp(const void *s1, const void *s2, size_t n);
-extern void *memchr(const void *s, int c, size_t n);
-
-#endif
--- /dev/null
+++ b/libc/include/string.h
@@ -1,0 +1,29 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef _STRING_H
+#define _STRING_H
+
+#include <arch/string.h>
+
+extern char *strcpy(char *dst, const char *src);
+extern char *strncpy(char *dst, const char *src, size_t n);
+extern char *strcat(char *dst, const char *src);
+extern char *strncat(char *dst, const char *src, size_t n);
+extern size_t strxfrm(char *dst, const char *src, size_t n);
+extern size_t strlen(const char *s);
+extern int strcmp(const char *s1, const char *s2);
+extern int strcoll(const char *s1, const char *s2);
+extern char *strchr(const char *s, int c);
+extern char *strrchr(const char *s, int c);
+extern size_t strspn(const char *s, const char *accept);
+extern size_t strcspn(const char *s, const char *reject);
+extern size_t strpbrk(const char *s, const char *accept);
+extern size_t strstr(const char *s, const char *sub);
+extern char *strtok(const char *s, const char *delim);
+
+extern void *memset(void *s, int c, size_t n);
+extern void *memcpy(void *dst, const void *src, size_t n);
+extern void *memmove(void *dst, const void *src, size_t n);
+extern int memcmp(const void *s1, const void *s2, size_t n);
+extern void *memchr(const void *s, int c, size_t n);
+
+#endif
--- /dev/null
+++ b/libc/include/z80/arch/string.h
@@ -1,0 +1,9 @@
+/* See LICENSE file for copyright and license details. */
+
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+#ifndef _SIZET
+typedef unsigned size_t;
+#endif
--- a/libc/include/z80/string.h
+++ /dev/null
@@ -1,35 +1,0 @@
-/* See LICENSE file for copyright and license details. */
-#ifndef _STRING_H
-#define _STRING_H
-
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
-#ifndef _SIZET
-typedef unsigned size_t;
-#endif
-
-extern char *strcpy(char *dst, const char *src);
-extern char *strncpy(char *dst, const char *src, size_t n);
-extern char *strcat(char *dst, const char *src);
-extern char *strncat(char *dst, const char *src, size_t n);
-extern size_t strxfrm(char *dst, const char *src, size_t n);
-extern size_t strlen(const char *s);
-extern int strcmp(const char *s1, const char *s2);
-extern int strcoll(const char *s1, const char *s2);
-extern char *strchr(const char *s, int c);
-extern char *strrchr(const char *s, int c);
-extern size_t strspn(const char *s, const char *accept);
-extern size_t strcspn(const char *s, const char *reject);
-extern size_t strpbrk(const char *s, const char *accept);
-extern size_t strstr(const char *s, const char *sub);
-extern char *strtok(const char *s, const char *delim);
-
-extern void *memset(void *s, int c, size_t n);
-extern void *memcpy(void *dst, const void *src, size_t n);
-extern void *memmove(void *dst, const void *src, size_t n);
-extern int memcmp(const void *s1, const void *s2, size_t n);
-extern void *memchr(const void *s, int c, size_t n);
-
-#endif