/* $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 */
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.
/* 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