From 18d43ffd39dffec81f8ece68447692d6e2e4672a Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Thu, 7 Jun 2007 15:19:44 -0400 Subject: [PATCH] Work around uClibc weirdness. --- lib/lib.c | 20 +++++++++++++------- lib/lib.h | 5 ++++- 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); -- 2.11.0