1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- Subject: [musl] [PATCH] extend gethostid beyond a stub
- Archived-At: <https://inbox.vuxu.org/musl/20210420191519.23822-3-ericonr@disroot.org/>
- List-Archive: <https://inbox.vuxu.org/musl/>
- List-Post: <mailto:musl@inbox.vuxu.org>
- From: Érico Rolim <erico.erc@gmail.com>
- Implement part of the glibc behavior, where the 32-bit identifier stored
- in /etc/hostid, if the file exists, is returned. If this file doesn't
- contain at least 32 bits or can't be opened for some reason, return 0.
- ---
- src/misc/gethostid.c | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
- diff --git a/src/misc/gethostid.c b/src/misc/gethostid.c
- index 25bb35db..d529de9c 100644
- --- a/src/misc/gethostid.c
- +++ b/src/misc/gethostid.c
- @@ -1,6 +1,19 @@
- #include <unistd.h>
- +#include <stdio.h>
- +#include <stdint.h>
-
- long gethostid()
- {
- - return 0;
- + FILE *f;
- + int32_t rv = 0;
- +
- + f = fopen("/etc/hostid", "reb");
- + if (f) {
- + if (fread(&rv, sizeof(rv), 1, f) == 0) {
- + rv = 0;
- + }
- + fclose(f);
- + }
- +
- + return rv;
- }
- --
- 2.31.1
|