Move stpcpy replacement function into libbb
authorDan Fandrich <dan@coneharvesters.com>
Sun, 13 Feb 2011 06:26:57 +0000 (22:26 -0800)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 13 Feb 2011 17:37:12 +0000 (18:37 +0100)
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
include/platform.h
libbb/platform.c
runit/runsv.c

index 00ebe563b07200b5d76b4d9700921255c0d77339..e390e58e21c65d0c8b7ad83765eb687dfa2182e7 100644 (file)
@@ -18,6 +18,7 @@
 #define HAVE_PTSNAME_R 1
 #define HAVE_SETBIT 1
 #define HAVE_SIGHANDLER_T 1
+#define HAVE_STPCPY 1
 #define HAVE_STRCASESTR 1
 #define HAVE_STRCHRNUL 1
 #define HAVE_STRSEP 1
@@ -356,6 +357,8 @@ typedef unsigned smalluint;
 #  define ADJ_TICK MOD_CLKB
 # endif
 
+# undef HAVE_STPCPY
+
 #else
 
 # define bb_setpgrp() setpgrp()
@@ -376,6 +379,7 @@ typedef unsigned smalluint;
 # undef HAVE_MEMRCHR
 # undef HAVE_MKDTEMP
 # undef HAVE_SETBIT
+# undef HAVE_STPCPY
 # undef HAVE_STRCASESTR
 # undef HAVE_STRCHRNUL
 # undef HAVE_STRSEP
@@ -413,6 +417,10 @@ extern char *mkdtemp(char *template) FAST_FUNC;
 typedef void (*sighandler_t)(int);
 #endif
 
+#ifndef HAVE_STPCPY
+extern char *stpcpy(char *p, const char *to_add) FAST_FUNC;
+#endif
+
 #ifndef HAVE_STRCASESTR
 extern char *strcasestr(const char *s, const char *pattern) FAST_FUNC;
 #endif
index ccde2bf02e8b0fe50ddd012cf03e10b49d421ae5..fe7ce156719ae3aeb70f00bc80eb1e87efcf7d82 100644 (file)
@@ -134,3 +134,14 @@ char* FAST_FUNC strsep(char **stringp, const char *delim)
        return start;
 }
 #endif
+
+#ifndef HAVE_STPCPY
+char* FAST_FUNC stpcpy(char *p, const char *to_add)
+{
+       while ((*p = *to_add) != '\0') {
+               p++;
+               to_add++;
+       }
+       return p;
+}
+#endif
index ebb03183705a42b363eacc60ae98334615f9abbf..e76572daa4c6641ebae51ea175a787abb180e973 100644 (file)
@@ -139,16 +139,6 @@ static void s_term(int sig_no UNUSED_PARAM)
        write(selfpipe.wr, "", 1); /* XXX */
 }
 
-/* libbb candidate */
-static char *bb_stpcpy(char *p, const char *to_add)
-{
-       while ((*p = *to_add) != '\0') {
-               p++;
-               to_add++;
-       }
-       return p;
-}
-
 static int open_trunc_or_warn(const char *name)
 {
        /* Why O_NDELAY? */
@@ -192,26 +182,26 @@ static void update_status(struct svdir *s)
                char *p = stat_buf;
                switch (s->state) {
                case S_DOWN:
-                       p = bb_stpcpy(p, "down");
+                       p = stpcpy(p, "down");
                        break;
                case S_RUN:
-                       p = bb_stpcpy(p, "run");
+                       p = stpcpy(p, "run");
                        break;
                case S_FINISH:
-                       p = bb_stpcpy(p, "finish");
+                       p = stpcpy(p, "finish");
                        break;
                }
                if (s->ctrl & C_PAUSE)
-                       p = bb_stpcpy(p, ", paused");
+                       p = stpcpy(p, ", paused");
                if (s->ctrl & C_TERM)
-                       p = bb_stpcpy(p, ", got TERM");
+                       p = stpcpy(p, ", got TERM");
                if (s->state != S_DOWN)
                        switch (s->sd_want) {
                        case W_DOWN:
-                               p = bb_stpcpy(p, ", want down");
+                               p = stpcpy(p, ", want down");
                                break;
                        case W_EXIT:
-                               p = bb_stpcpy(p, ", want exit");
+                               p = stpcpy(p, ", want exit");
                                break;
                        }
                *p++ = '\n';