path: root/src/network/ent.c
diff options
authorRich Felker <>2018-09-06 11:15:15 -0400
committerRich Felker <>2018-09-12 14:34:20 -0400
commitc221d3e5862e249b03aa7569d5fec6389294fb22 (patch)
tree227098b1eefa6036f39a05941632771db54cf2b6 /src/network/ent.c
parenteeb6f7742506b08692f745c7f588d046f1aa8214 (diff)
fix issues from public functions defined without declaration visible
policy is that all public functions which have a public declaration should be defined in a context where that public declaration is visible, to avoid preventable type mismatches. an audit performed using GCC's -Wmissing-declarations turned up the violations corrected here. in some cases the public header had not been included; in others, a feature test macro needed to make the declaration visible had been omitted. in the case of gethostent and getnetent, the omission seems to have been intentional, as a hack to admit a single stub definition for both functions. this kind of hack is no longer acceptable; it's UB and would not fly with LTO or advanced toolchains. the hack is undone to make exposure of the declarations possible.
Diffstat (limited to 'src/network/ent.c')
1 files changed, 7 insertions, 2 deletions
diff --git a/src/network/ent.c b/src/network/ent.c
index ececdc48..5abea637 100644
--- a/src/network/ent.c
+++ b/src/network/ent.c
@@ -1,10 +1,16 @@
+#include <netdb.h>
#include "libc.h"
void sethostent(int x)
-void *gethostent()
+struct hostent *gethostent()
+ return 0;
+struct netent *getnetent()
return 0;
@@ -14,5 +20,4 @@ void endhostent(void)
weak_alias(sethostent, setnetent);
-weak_alias(gethostent, getnetent);
weak_alias(endhostent, endnetent);