hostid: fix behavior on identifiers starting with zeros
Signed-off-by: Pere Orga <gotrunks@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/coreutils/Config.src b/coreutils/Config.src
index 65165d7..a28449b 100644
--- a/coreutils/Config.src
+++ b/coreutils/Config.src
@@ -269,13 +269,6 @@
help
This enables the head options (-c, -q, and -v).
-config HOSTID
- bool "hostid"
- default y
- help
- hostid prints the numeric identifier (in hexadecimal) for
- the current host.
-
config INSTALL
bool "install"
default y
diff --git a/coreutils/Kbuild.src b/coreutils/Kbuild.src
index 53d88b3..d6453f0 100644
--- a/coreutils/Kbuild.src
+++ b/coreutils/Kbuild.src
@@ -36,7 +36,6 @@
lib-$(CONFIG_FOLD) += fold.o
lib-$(CONFIG_FSYNC) += fsync.o
lib-$(CONFIG_HEAD) += head.o
-lib-$(CONFIG_HOSTID) += hostid.o
lib-$(CONFIG_INSTALL) += install.o
#lib-$(CONFIG_LENGTH) += length.o
lib-$(CONFIG_LN) += ln.o
diff --git a/coreutils/hostid.c b/coreutils/hostid.c
index 49409b9..5c1a4e0 100644
--- a/coreutils/hostid.c
+++ b/coreutils/hostid.c
@@ -9,6 +9,17 @@
/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
+//config:config HOSTID
+//config: bool "hostid"
+//config: default y
+//config: help
+//config: hostid prints the numeric identifier (in hexadecimal) for
+//config: the current host.
+
+//applet:IF_HOSTID(APPLET_NOFORK(hostid, hostid, BB_DIR_USR_BIN, BB_SUID_DROP, hostid))
+
+//kbuild:lib-$(CONFIG_HOSTID) += hostid.o
+
//usage:#define hostid_trivial_usage
//usage: ""
//usage:#define hostid_full_usage "\n\n"
@@ -25,7 +36,7 @@
bb_show_usage();
}
- printf("%lx\n", gethostid());
+ printf("%08lx\n", gethostid());
return fflush_all();
}
diff --git a/include/applets.src.h b/include/applets.src.h
index 87d9cbb..a5866d8 100644
--- a/include/applets.src.h
+++ b/include/applets.src.h
@@ -176,7 +176,6 @@
IF_HDPARM(APPLET(hdparm, BB_DIR_SBIN, BB_SUID_DROP))
IF_HEAD(APPLET_NOEXEC(head, head, BB_DIR_USR_BIN, BB_SUID_DROP, head))
IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hexdump))
-IF_HOSTID(APPLET_NOFORK(hostid, hostid, BB_DIR_USR_BIN, BB_SUID_DROP, hostid))
IF_HOSTNAME(APPLET(hostname, BB_DIR_BIN, BB_SUID_DROP))
IF_HTTPD(APPLET(httpd, BB_DIR_USR_SBIN, BB_SUID_DROP))
IF_HWCLOCK(APPLET(hwclock, BB_DIR_SBIN, BB_SUID_DROP))