diff options
author | Florian Weimer <fweimer@redhat.com> | 2020-02-18 13:44:48 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2020-02-18 13:44:48 +0100 |
commit | 631cf64bc1d8306e011ef39f60b8cb6de91bd271 (patch) | |
tree | 719100a2b1098d6921ef74397b681de93efcfa95 /resolv | |
parent | fa185f0d4529c6d70f690306f431ca23662b9138 (diff) | |
download | glibc-631cf64bc1d8306e011ef39f60b8cb6de91bd271.tar glibc-631cf64bc1d8306e011ef39f60b8cb6de91bd271.tar.gz glibc-631cf64bc1d8306e011ef39f60b8cb6de91bd271.tar.bz2 glibc-631cf64bc1d8306e011ef39f60b8cb6de91bd271.zip |
Move implementation of <file_change_detection.h> 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.
Diffstat (limited to 'resolv')
-rw-r--r-- | resolv/res_init.c | 2 | ||||
-rw-r--r-- | resolv/resolv_conf.c | 6 |
2 files changed, 4 insertions, 4 deletions
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 |