aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/lib.c20
-rw-r--r--lib/lib.h5
2 files changed, 17 insertions, 8 deletions
diff --git a/lib/lib.c b/lib/lib.c
index 1f37eb59..8430ae68 100644
--- a/lib/lib.c
+++ b/lib/lib.c
@@ -11,6 +11,19 @@
#include "toys.h"
+#ifndef __UCLIBC__
+
+// uClibc has this, and if we define our own it conflicts.
+
+// Like strncpy but always null terminated.
+void strlcpy(char *dest, char *src, size_t size)
+{
+ strncpy(dest,src,size);
+ dest[size-1] = 0;
+}
+#endif
+
+
void verror_msg(char *msg, int err, va_list va)
{
fprintf(stderr, "%s: ", toys.which->name);
@@ -68,13 +81,6 @@ void usage_exit(void)
exit(1);
}
-// Like strncpy but always null terminated.
-void strlcpy(char *dest, char *src, size_t size)
-{
- strncpy(dest,src,size);
- dest[size-1] = 0;
-}
-
// Die unless we can allocate memory.
void *xmalloc(size_t size)
{
diff --git a/lib/lib.h b/lib/lib.h
index c95a743e..f0d92419 100644
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -31,13 +31,16 @@ struct dirtree {
void get_optflags(void);
// functions.c
+#ifndef __UCLIBC__
+void strlcpy(char *dest, char *src, size_t size);
+#endif
+
void verror_msg(char *msg, int err, va_list va);
void error_msg(char *msg, ...);
void perror_msg(char *msg, ...);
void error_exit(char *msg, ...);
void perror_exit(char *msg, ...);
void usage_exit(void);
-void strlcpy(char *dest, char *src, size_t size);
void *xmalloc(size_t size);
void *xzalloc(size_t size);
void *xrealloc(void *ptr, size_t size);