From 631cf64bc1d8306e011ef39f60b8cb6de91bd271 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 18 Feb 2020 13:44:48 +0100 Subject: Move implementation of into a C file file_change_detection_for_stat partially initialize struct file_change_detection in some cases, when the size member alone determines the outcome of all comparisons. This results in maybe-uninitialized compiler warnings in case of sufficiently aggressive inlining. Once the implementation is moved into a separate C file, this kind of inlining is no longer possible, so the compiler warnings are gone. --- resolv/res_init.c | 2 +- resolv/resolv_conf.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'resolv') diff --git a/resolv/res_init.c b/resolv/res_init.c index 98d84f264d..ee5dfdd391 100644 --- a/resolv/res_init.c +++ b/resolv/res_init.c @@ -583,7 +583,7 @@ __resolv_conf_load (struct __res_state *preinit, if (ok && change != NULL) /* Update the file change information if the configuration was loaded successfully. */ - ok = file_change_detection_for_fp (change, fp); + ok = __file_change_detection_for_fp (change, fp); if (ok) { diff --git a/resolv/resolv_conf.c b/resolv/resolv_conf.c index 29a1f4fb94..286149ffad 100644 --- a/resolv/resolv_conf.c +++ b/resolv/resolv_conf.c @@ -121,7 +121,7 @@ struct resolv_conf * __resolv_conf_get_current (void) { struct file_change_detection initial; - if (!file_change_detection_for_path (&initial, _PATH_RESCONF)) + if (!__file_change_detection_for_path (&initial, _PATH_RESCONF)) return NULL; struct resolv_conf_global *global_copy = get_locked_global (); @@ -129,7 +129,7 @@ __resolv_conf_get_current (void) return NULL; struct resolv_conf *conf; if (global_copy->conf_current != NULL - && file_is_unchanged (&initial, &global_copy->file_resolve_conf)) + && __file_is_unchanged (&initial, &global_copy->file_resolve_conf)) /* We can reuse the cached configuration object. */ conf = global_copy->conf_current; else @@ -149,7 +149,7 @@ __resolv_conf_get_current (void) /etc/resolv.conf is temporarily replaced while the file is read (after the initial measurement), and restored to the initial version later. */ - if (file_is_unchanged (&initial, &after_load)) + if (__file_is_unchanged (&initial, &after_load)) global_copy->file_resolve_conf = after_load; else /* If there is a discrepancy, trigger a reload during the -- cgit v1.2.3