> clang still doesn't like 'make check', but that looks like a different > issue around relocations. clang isn't a huge priority for me, so it > might take a while. But this patch is good to go in regardless.
Turns out I needed to specify CXX=clang++ as well. Daniel > > Thanks again, > Daniel > >> --- >> >> grub-core/net/net.c | 65 +++++++++++++++++++++++---------------------- >> 1 file changed, 33 insertions(+), 32 deletions(-) >> >> diff --git a/grub-core/net/net.c b/grub-core/net/net.c >> index c42f0f4f71d..ec7e2899ed5 100644 >> --- a/grub-core/net/net.c >> +++ b/grub-core/net/net.c >> @@ -1735,42 +1735,43 @@ grub_net_restore_hw (void) >> return GRUB_ERR_NONE; >> } >> >> -grub_err_t >> -grub_net_search_config_file (char *config) >> +static int grub_config_search_through (char *config, char *suffix, >> + grub_size_t num_tries, >> + grub_size_t slice_size) >> { >> - grub_size_t config_len; >> - char *suffix; >> + while (num_tries-- > 0) >> + { >> + grub_file_t file; >> >> - auto int search_through (grub_size_t num_tries, grub_size_t slice_size); >> - int search_through (grub_size_t num_tries, grub_size_t slice_size) >> - { >> - while (num_tries-- > 0) >> - { >> - grub_file_t file; >> + grub_dprintf ("net", "attempt to fetch config %s\n", config); >> >> - grub_dprintf ("net", "attempt to fetch config %s\n", config); >> + file = grub_file_open (config, GRUB_FILE_TYPE_CONFIG); >> >> - file = grub_file_open (config, GRUB_FILE_TYPE_CONFIG); >> + if (file) >> + { >> + grub_file_close (file); >> + return 0; >> + } >> + else >> + { >> + if (grub_errno == GRUB_ERR_IO) >> + grub_errno = GRUB_ERR_NONE; >> + } >> >> - if (file) >> - { >> - grub_file_close (file); >> - return 0; >> - } >> - else >> - { >> - if (grub_errno == GRUB_ERR_IO) >> - grub_errno = GRUB_ERR_NONE; >> - } >> + if (grub_strlen (suffix) < slice_size) >> + break; >> >> - if (grub_strlen (suffix) < slice_size) >> - break; >> + config[grub_strlen (config) - slice_size] = '\0'; >> + } >> >> - config[grub_strlen (config) - slice_size] = '\0'; >> - } >> + return 1; >> +} >> >> - return 1; >> - } >> +grub_err_t >> +grub_net_search_config_file (char *config) >> +{ >> + grub_size_t config_len; >> + char *suffix; >> >> config_len = grub_strlen (config); >> config[config_len] = '-'; >> @@ -1801,7 +1802,7 @@ grub_net_search_config_file (char *config) >> if (client_uuid) >> { >> grub_strcpy (suffix, client_uuid); >> - if (search_through (1, 0) == 0) >> + if (grub_config_search_through (config, suffix, 1, 0) == 0) >> return GRUB_ERR_NONE; >> } >> >> @@ -1816,7 +1817,7 @@ grub_net_search_config_file (char *config) >> if (*ptr == ':') >> *ptr = '-'; >> >> - if (search_through (1, 0) == 0) >> + if (grub_config_search_through (config, suffix, 1, 0) == 0) >> return GRUB_ERR_NONE; >> >> /* By IP address */ >> @@ -1831,7 +1832,7 @@ grub_net_search_config_file (char *config) >> ((n >> 24) & 0xff), ((n >> 16) & 0xff), \ >> ((n >> 8) & 0xff), ((n >> 0) & 0xff)); >> >> - if (search_through (8, 1) == 0) >> + if (grub_config_search_through (config, suffix, 8, 1) == 0) >> return GRUB_ERR_NONE; >> break; >> } >> @@ -1848,7 +1849,7 @@ grub_net_search_config_file (char *config) >> *ptr = '-'; >> >> grub_snprintf (suffix, GRUB_NET_MAX_STR_ADDR_LEN, "%s", buf); >> - if (search_through (1, 0) == 0) >> + if (grub_config_search_through (config, suffix, 1, 0) == 0) >> return GRUB_ERR_NONE; >> break; >> } >> -- >> 2.26.2 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel