diff options
author | Roy Marples <roy@marples.name> | 2009-01-12 08:31:03 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2009-01-12 08:31:03 +0000 |
commit | 8a9a2d5fe9bbb80381f54da16460f1578f367be5 (patch) | |
tree | 2dcbfd63b7a8e47c060f314cb090a040ce0037a3 | |
parent | a33554ab18a58a59628d777b7a5268882869b35c (diff) |
Use snprintf instead of strlcpy to save on size if not available.
-rw-r--r-- | src/includes/rc-misc.h | 8 | ||||
-rw-r--r-- | src/librc/librc-daemon.c | 23 |
2 files changed, 7 insertions, 24 deletions
diff --git a/src/includes/rc-misc.h b/src/includes/rc-misc.h index e0cfde74..113662f6 100644 --- a/src/includes/rc-misc.h +++ b/src/includes/rc-misc.h @@ -4,7 +4,7 @@ */ /* - * Copyright 2007-2008 Roy Marples <roy@marples.name> + * Copyright 2007-2009 Roy Marples <roy@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -41,6 +41,7 @@ #define RC_LEVEL_DEFAULT "default" #define RC_DEPTREE_CACHE RC_SVCDIR "/deptree" +#define RC_DEPTREE_SKEWED RC_SVCDIR "/clock-skewed" #define RC_KRUNLEVEL RC_SVCDIR "/krunlevel" #define RC_STARTING RC_SVCDIR "/rc.starting" #define RC_STOPPING RC_SVCDIR "/rc.stopping" @@ -84,6 +85,11 @@ (var) = (tvar)) #endif +#ifdef __GLIBC__ +# if ! defined (__UCLIBC__) && ! defined (__dietlibc__) +# define strlcpy(dst, src, size) snprintf(dst, size, "%s", src) +# endif +#endif _unused static void *xmalloc (size_t size) { diff --git a/src/librc/librc-daemon.c b/src/librc/librc-daemon.c index f2c1b445..c3cdd860 100644 --- a/src/librc/librc-daemon.c +++ b/src/librc/librc-daemon.c @@ -31,29 +31,6 @@ #include "librc.h" -#ifdef __GLIBC__ -# if ! defined (__UCLIBC__) && ! defined (__dietlibc__) -static size_t strlcpy(char *dst, const char *src, size_t size) -{ - const char *s = src; - size_t n = size; - - if (n && --n) - do { - if (!(*dst++ = *src++)) - break; - } while (--n); - - if (!n) { - if (size) - *dst = '\0'; - while (*src++); - } - - return src - s - 1; -} -# endif -#endif #if defined(__linux__) |