-/* $Id$ */
-
-/* 7.21 String handling <string.h>
+/* 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
-#include <_PDCLIB_int.h>
-_PDCLIB_BEGIN_EXTERN_C
+#include "_PDCLIB_int.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
#ifndef _PDCLIB_SIZE_T_DEFINED
#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED
*/
size_t strlen( const char * s ) _PDCLIB_nothrow;
+#if _PDCLIB_POSIX_MIN(2008098L)
+/* Returns the length of the string s (excluding terminating '\0') or maxlen if
+ * no terminating '\0' is found in the first maxlen characters.
+ */
+size_t strnlen( const char * s, size_t maxlen ) _PDCLIB_nothrow;
+#endif
+
#if _PDCLIB_POSIX_MIN(2008098L) || _PDCLIB_XOPEN_MIN(0)
char * strdup( const char* src ) _PDCLIB_nothrow;
char * strndup( const char* src, size_t n ) _PDCLIB_nothrow;
#endif
-_PDCLIB_END_EXTERN_C
+#if _PDCLIB_BSD_SOURCE
+size_t strlcpy(
+ char *_PDCLIB_restrict _Dst,
+ const char *_PDCLIB_restrict _Src,
+ size_t _DstSize) _PDCLIB_nothrow;
+
+size_t strlcat(
+ char *_PDCLIB_restrict _Dst,
+ const char *_PDCLIB_restrict _Src,
+ size_t _DstSize) _PDCLIB_nothrow;
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
#endif