summaryrefslogtreecommitdiff
path: root/resolv/res_init.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-06-27 09:26:46 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-06-27 09:26:46 +0200
commite6b4e2de6dd91efdcac80b79149c596de8a26b70 (patch)
tree4ac5b1cb2d8b5df219fa0b0be3290534cbccd0e7 /resolv/res_init.c
parent034e73802173a8bfa80ff21d3da45e3bbbfe8acc (diff)
resolv: Call _res_hconf_init from __res_vinit
Many callers of __res_maybe_init also call _res_hconf_init. Additional calls to the latter do not hurt because the function does its work only once. (/etc/hosts.conf is not reloaded or even checked for changes.) This means that we can simplify the code by calling _res_hconf_init directly from __res_vinit.
Diffstat (limited to 'resolv/res_init.c')
-rw-r--r--resolv/res_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 9aa907ee19..821f06061b 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -85,6 +85,7 @@
#include <ctype.h>
#include <netdb.h>
#include <resolv/resolv-internal.h>
+#include <res_hconf.h>
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
@@ -430,6 +431,9 @@ res_vinit_1 (res_state statp, bool preinit, FILE *fp, char **buffer)
int
__res_vinit (res_state statp, int preinit)
{
+ /* Ensure that /etc/hosts.conf has been loaded (once). */
+ _res_hconf_init ();
+
FILE *fp = fopen (_PATH_RESCONF, "rce");
if (fp == NULL)
switch (errno)