]> pd.if.org Git - pdclib.old/blobdiff - includes/string.h
Bugfix: memmove parameters incorrectly defined as restrict.
[pdclib.old] / includes / string.h
index f6f3e5db701faa522077217897b7eb9c4af1a569..636231929ba351fc668aac3d76832325bcc9477e 100644 (file)
@@ -1,8 +1,6 @@
 /* $Id$ */
 
-/* Release $Name$ */
-
-/* String handling <string.h>
+/* 7.21 String handling <string.h>
 
    This file is part of the Public Domain C Library (PDCLib).
    Permission is granted to use, modify, and / or redistribute at will.
 
 #ifndef _PDCLIB_STRING_H
 #define _PDCLIB_STRING_H _PDCLIB_STRING_H
-
-#ifndef _PDCLIB_AUX_H
-#define _PDCLIB_AUX_H _PDCLIB_AUX_H
-#include <_PDCLIB_aux.h>
-#endif
-
-#ifndef _PDCLIB_INT_H
-#define _PDCLIB_INT_H _PDCLIB_INT_H
 #include <_PDCLIB_int.h>
-#endif
+_PDCLIB_BEGIN_EXTERN_C
 
+#ifndef _PDCLIB_SIZE_T_DEFINED
+#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED
 typedef _PDCLIB_size_t size_t;
+#endif
 
+#ifndef _PDCLIB_NULL_DEFINED
+#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED
 #define NULL _PDCLIB_NULL
+#endif
 
 /* String function conventions */
 
@@ -45,7 +41,7 @@ void * memcpy( void * _PDCLIB_restrict s1, const void * _PDCLIB_restrict s2, siz
    area pointed to by s1. The two areas may overlap.
    Returns the value of s1.
 */
-void * memmove( void * _PDCLIB_restrict s1, const void * _PDCLIB_restrict s2, size_t n );
+void * memmove( void * s1, const void * , size_t n );
 
 /* Copy the character array s2 (including terminating '\0' byte) into the
    character array s1.
@@ -181,12 +177,17 @@ void * memset( void * s, int c, size_t n );
 /* Map an error number to a (locale-specific) error message string. Error
    numbers are typically errno values, but any number is mapped to a message.
    TODO: PDCLib does not yet support locales.
-   TODO: strerror() not yet implemented.
-char * strerror( int errnum );
 */
+char * strerror( int errnum );
 
 /* Returns the length of the string s (excluding terminating '\0').
 */
 size_t strlen( const char * s );
 
+#if _PDCLIB_POSIX_MIN(2008098L) || _PDCLIB_XOPEN_MIN(0)
+char * strdup( const char* src );
+char * strndup( const char* src, size_t n );
+#endif
+
+_PDCLIB_END_EXTERN_C
 #endif