aboutsummaryrefslogtreecommitdiff
path: root/miscutils/runlevel.c
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2015-04-02 23:03:46 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2015-04-02 23:03:46 +0200
commit86a7f18f211af1abda5c855d2674b0fcb53de524 (patch)
tree9fd1eadb83bf48b29e9468ea8ff0e43c0736c245 /miscutils/runlevel.c
parent1186894f773e13ab9ca2b3e05a194e9b88796fbe (diff)
downloadbusybox-w32-86a7f18f211af1abda5c855d2674b0fcb53de524.tar.gz
busybox-w32-86a7f18f211af1abda5c855d2674b0fcb53de524.tar.bz2
busybox-w32-86a7f18f211af1abda5c855d2674b0fcb53de524.zip
*: Switch to POSIX utmpx API
UTMP is SVID legacy, UTMPX is mandated by POSIX. Glibc and uClibc have identical layout of UTMP and UTMPX, both of these libc treat _PATH_UTMPX as _PATH_UTMP so from a user-perspective nothing changes except the names of the API entrypoints. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'miscutils/runlevel.c')
-rw-r--r--miscutils/runlevel.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/miscutils/runlevel.c b/miscutils/runlevel.c
index 76231df22..8558db862 100644
--- a/miscutils/runlevel.c
+++ b/miscutils/runlevel.c
@@ -29,19 +29,19 @@
29int runlevel_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 29int runlevel_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
30int runlevel_main(int argc UNUSED_PARAM, char **argv) 30int runlevel_main(int argc UNUSED_PARAM, char **argv)
31{ 31{
32 struct utmp *ut; 32 struct utmpx *ut;
33 char prev; 33 char prev;
34 34
35 if (argv[1]) utmpname(argv[1]); 35 if (argv[1]) utmpxname(argv[1]);
36 36
37 setutent(); 37 setutxent();
38 while ((ut = getutent()) != NULL) { 38 while ((ut = getutxent()) != NULL) {
39 if (ut->ut_type == RUN_LVL) { 39 if (ut->ut_type == RUN_LVL) {
40 prev = ut->ut_pid / 256; 40 prev = ut->ut_pid / 256;
41 if (prev == 0) prev = 'N'; 41 if (prev == 0) prev = 'N';
42 printf("%c %c\n", prev, ut->ut_pid % 256); 42 printf("%c %c\n", prev, ut->ut_pid % 256);
43 if (ENABLE_FEATURE_CLEAN_UP) 43 if (ENABLE_FEATURE_CLEAN_UP)
44 endutent(); 44 endutxent();
45 return 0; 45 return 0;
46 } 46 }
47 } 47 }
@@ -49,6 +49,6 @@ int runlevel_main(int argc UNUSED_PARAM, char **argv)
49 puts("unknown"); 49 puts("unknown");
50 50
51 if (ENABLE_FEATURE_CLEAN_UP) 51 if (ENABLE_FEATURE_CLEAN_UP)
52 endutent(); 52 endutxent();
53 return 1; 53 return 1;
54} 54}