fix issues from public functions defined without declaration visible
authorRich Felker <dalias@aerifal.cx>
Thu, 6 Sep 2018 15:15:15 +0000 (11:15 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 12 Sep 2018 18:34:20 +0000 (14:34 -0400)
commitc221d3e5862e249b03aa7569d5fec6389294fb22
tree227098b1eefa6036f39a05941632771db54cf2b6
parenteeb6f7742506b08692f745c7f588d046f1aa8214
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.
src/legacy/utmpx.c
src/linux/brk.c
src/linux/clone.c
src/linux/sbrk.c
src/misc/getentropy.c
src/misc/issetugid.c
src/misc/syscall.c
src/network/ent.c
src/stdio/ext2.c
src/stdio/fwide.c
src/thread/pthread_setattr_default_np.c