static int link_update_llmnr_support(Link *l) { _cleanup_free_ char *b = NULL; int r; assert(l); r = sd_network_link_get_llmnr(l->ifindex, &b); if (r == -ENODATA) { r = 0; goto clear; } if (r < 0) goto clear; l->llmnr_support = resolve_support_from_string(b); if (l->llmnr_support < 0) { r = -EINVAL; goto clear; } return 0; clear: l->llmnr_support = RESOLVE_SUPPORT_YES; return r; }
static int link_update_llmnr_support(Link *l) { _cleanup_free_ char *b = NULL; int r; assert(l); r = sd_network_link_get_llmnr(l->ifindex, &b); if (r < 0) goto clear; r = parse_boolean(b); if (r < 0) { if (streq(b, "resolve")) l->llmnr_support = SUPPORT_RESOLVE; else goto clear; } else if (r > 0) l->llmnr_support = SUPPORT_YES; else l->llmnr_support = SUPPORT_NO; return 0; clear: l->llmnr_support = SUPPORT_YES; return r; }