aboutsummaryrefslogtreecommitdiffhomepage
path: root/fallback.h
diff options
context:
space:
mode:
authorGravatar axel <axel@liljencrantz.se>2006-04-19 19:56:28 +1000
committerGravatar axel <axel@liljencrantz.se>2006-04-19 19:56:28 +1000
commitd0956f1e43dbad48216a22b6a387a39de509ea60 (patch)
tree4ef4e7a3a36a2cf4fdee885d7d6708b7dc143b3c /fallback.h
parent6996c7718e33b270c9ae952ad3e1cd4b5be80ddd (diff)
Use libc implementations of wcslcpy and wcslcat if they exist. Move internal implementations to fallback.c.
darcs-hash:20060419095628-ac50b-0e94e4205306bb99bb9dea72eec43b442520bf1b.gz
Diffstat (limited to 'fallback.h')
-rw-r--r--fallback.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/fallback.h b/fallback.h
index e42bbbd4..262ca881 100644
--- a/fallback.h
+++ b/fallback.h
@@ -232,5 +232,34 @@ long wcstol(const wchar_t *nptr,
int base);
#endif
+#ifndef HAVE_WCSLCAT
+
+/**
+ Appends src to string dst of size siz (unlike wcsncat, siz is the
+ full size of dst, not space left). At most siz-1 characters will be
+ copied. Always NUL terminates (unless siz <= wcslen(dst)). Returns
+ wcslen(src) + MIN(siz, wcslen(initial dst)). If retval >= siz,
+ truncation occurred.
+
+ This is the OpenBSD strlcat function, modified for wide characters,
+ and renamed to reflect this change.
+
+*/
+size_t wcslcat( wchar_t *dst, const wchar_t *src, size_t siz );
+
+#endif
+#ifndef HAVE_WCSLCPY
+
+/**
+ Copy src to string dst of size siz. At most siz-1 characters will
+ be copied. Always NUL terminates (unless siz == 0). Returns
+ wcslen(src); if retval >= siz, truncation occurred.
+
+ This is the OpenBSD strlcpy function, modified for wide characters,
+ and renamed to reflect this change.
+*/
+size_t wcslcpy( wchar_t *dst, const wchar_t *src, size_t siz );
+
+#endif
#endif