Mercurial > hg > toybox
changeset 1565:a3500bd8b322 draft
Fixups for the android/bionic build probes patch.
The CFG_* symbols are always defined so if() can use them as compile-time
constants, so don't if defined() them.
Doing USE_BLAH() around variable definitions opens up the same potential for
config-dependent build breaks as #ifdefs do, just make the whole command
depend on the symbol for now, factor out the utmpx infrastructure later.
The PTY probe was always failing because it used NULL without #including
the header that defines it. Substitute 0 instead.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 19 Nov 2014 16:55:12 -0600 |
parents | 685a0da6ca59 |
children | 62a7d617e1ce |
files | lib/portability.h scripts/genconfig.sh toys/other/uptime.c |
diffstat | 3 files changed, 13 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/portability.h Wed Nov 19 16:38:46 2014 -0600 +++ b/lib/portability.h Wed Nov 19 16:55:12 2014 -0600 @@ -188,14 +188,16 @@ int sethostname(const char *name, size_t len); #endif // "generated/config.h" is included first -#if defined(CFG_TOYBOX_SHADOW) && CFG_TOYBOX_SHADOW +#if CFG_TOYBOX_SHADOW #include <shadow.h> #endif -#if defined(CFG_TOYBOX_UTMPX) && CFG_TOYBOX_UTMPX +#if CFG_TOYBOX_UTMPX #include <utmpx.h> #endif -#if defined(CFG_TOYBOX_PTY) && CFG_TOYBOX_PTY +#if CFG_TOYBOX_PTY #include <pty.h> +#else +pid_t forkpty(int *amaster, char *name, void *termp, void *winp); #endif
--- a/scripts/genconfig.sh Wed Nov 19 16:38:46 2014 -0600 +++ b/scripts/genconfig.sh Wed Nov 19 16:55:12 2014 -0600 @@ -62,7 +62,7 @@ probesymbol TOYBOX_PTY -c << EOF #include <pty.h> int main(int argc, char *argv[]) { - int master; return forkpty(&master, NULL, NULL, NULL); + int master; return forkpty(&master, 0, 0, 0); } EOF
--- a/toys/other/uptime.c Wed Nov 19 16:38:46 2014 -0600 +++ b/toys/other/uptime.c Wed Nov 19 16:55:12 2014 -0600 @@ -10,6 +10,7 @@ config UPTIME bool "uptime" default y + depends on TOYBOX_UTMPX help usage: uptime @@ -25,8 +26,8 @@ time_t tmptime; struct tm * now; unsigned int days, hours, minutes; - USE_TOYBOX_UTMPX(struct utmpx *entry;) - USE_TOYBOX_UTMPX(int users = 0;) + struct utmpx *entry; + int users = 0; // Obtain the data we need. sysinfo(&info); @@ -34,9 +35,9 @@ now = localtime(&tmptime); // Obtain info about logged on users - USE_TOYBOX_UTMPX(setutxent();) - USE_TOYBOX_UTMPX(while ((entry = getutxent())) if (entry->ut_type == USER_PROCESS) users++;) - USE_TOYBOX_UTMPX(endutxent();) + setutxent(); + while ((entry = getutxent())) if (entry->ut_type == USER_PROCESS) users++; + endutxent(); // Time xprintf(" %02d:%02d:%02d up ", now->tm_hour, now->tm_min, now->tm_sec); @@ -49,7 +50,7 @@ if (days) xprintf("%d day%s, ", days, (days!=1)?"s":""); if (hours) xprintf("%2d:%02d, ", hours, minutes); else printf("%d min, ", minutes); - USE_TOYBOX_UTMPX(printf(" %d user%s, ", users, (users!=1) ? "s" : "");) + printf(" %d user%s, ", users, (users!=1) ? "s" : ""); printf(" load average: %.02f, %.02f, %.02f\n", info.loads[0]/65536.0, info.loads[1]/65536.0, info.loads[2]/65536.0); }