#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
# define ADJ_TICK MOD_CLKB
# endif
+# undef HAVE_STPCPY
+
#else
# define bb_setpgrp() setpgrp()
# undef HAVE_MEMRCHR
# undef HAVE_MKDTEMP
# undef HAVE_SETBIT
+# undef HAVE_STPCPY
# undef HAVE_STRCASESTR
# undef HAVE_STRCHRNUL
# undef HAVE_STRSEP
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
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? */
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';