Applied, thanks!
On Sat, Apr 25, 2015 at 9:29 PM, Matt Whitlock <[email protected]> wrote: > --- > include/platform.h | 7 +++++++ > libbb/platform.c | 17 +++++++++++++++++ > 2 files changed, 24 insertions(+) > > diff --git a/include/platform.h b/include/platform.h > index 8914d4a..8896a6b 100644 > --- a/include/platform.h > +++ b/include/platform.h > @@ -368,6 +368,7 @@ typedef unsigned smalluint; > #define HAVE_DPRINTF 1 > #define HAVE_MEMRCHR 1 > #define HAVE_MKDTEMP 1 > +#define HAVE_TTYNAME_R 1 > #define HAVE_PTSNAME_R 1 > #define HAVE_SETBIT 1 > #define HAVE_SIGHANDLER_T 1 > @@ -480,6 +481,7 @@ typedef unsigned smalluint; > > #if defined(ANDROID) || defined(__ANDROID__) > # undef HAVE_DPRINTF > +# undef HAVE_TTYNAME_R > # undef HAVE_GETLINE > # undef HAVE_STPCPY > # undef HAVE_MEMPCPY > @@ -506,6 +508,11 @@ extern void *memrchr(const void *s, int c, size_t n) > FAST_FUNC; > extern char *mkdtemp(char *template) FAST_FUNC; > #endif > > +#ifndef HAVE_TTYNAME_R > +#define ttyname_r bb_ttyname_r > +extern int ttyname_r(int fd, char *buf, size_t buflen); > +#endif > + > #ifndef HAVE_SETBIT > # define setbit(a, b) ((a)[(b) >> 3] |= 1 << ((b) & 7)) > # define clrbit(a, b) ((a)[(b) >> 3] &= ~(1 << ((b) & 7))) > diff --git a/libbb/platform.c b/libbb/platform.c > index 8d90ca4..c676f17 100644 > --- a/libbb/platform.c > +++ b/libbb/platform.c > @@ -113,6 +113,23 @@ char* FAST_FUNC mkdtemp(char *template) > } > #endif > > +#ifndef HAVE_TTYNAME_R > +int ttyname_r(int fd, char *buf, size_t buflen) > +{ > + int r; > + char path[32]; > + if (!isatty(fd)) > + return errno == EINVAL ? ENOTTY : errno; > + sprintf(path, "/proc/self/fd/%d", fd); > + if ((r = readlink(path, buf, buflen)) < 0) > + return errno; > + if (r >= buflen) > + return ERANGE; > + buf[r] = '\0'; > + return 0; > +} > +#endif > + > #ifndef HAVE_STRCASESTR > /* Copyright (c) 1999, 2000 The ht://Dig Group */ > char* FAST_FUNC strcasestr(const char *s, const char *pattern) > -- > 2.3.5 > > _______________________________________________ > busybox mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
