1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-01 00:51:24 +03:00

ethtool-util: make wol_options_to_string() not return all flag strings

This commit is contained in:
Yu Watanabe 2021-10-05 14:59:26 +09:00
parent 1d3d81cf01
commit b4b2a49287
2 changed files with 8 additions and 3 deletions

View File

@ -43,6 +43,11 @@ int wol_options_to_string_alloc(uint32_t opts, char **ret) {
assert(ret); assert(ret);
if (opts == UINT32_MAX) {
*ret = NULL;
return 0;
}
for (size_t i = 0; i < ELEMENTSOF(wol_option_map); i++) for (size_t i = 0; i < ELEMENTSOF(wol_option_map); i++)
if (opts & wol_option_map[i].opt && if (opts & wol_option_map[i].opt &&
!strextend_with_separator(&str, ",", wol_option_map[i].name)) !strextend_with_separator(&str, ",", wol_option_map[i].name))
@ -55,7 +60,7 @@ int wol_options_to_string_alloc(uint32_t opts, char **ret) {
} }
*ret = TAKE_PTR(str); *ret = TAKE_PTR(str);
return 0; return 1;
} }
static const char* const port_table[] = { static const char* const port_table[] = {

View File

@ -334,8 +334,8 @@ static int link_config_apply_ethtool_settings(int *ethtool_fd, const LinkConfig
_cleanup_free_ char *str = NULL; _cleanup_free_ char *str = NULL;
(void) wol_options_to_string_alloc(config->wol, &str); (void) wol_options_to_string_alloc(config->wol, &str);
log_device_warning_errno(device, r, "Could not set WakeOnLan to %s, ignoring: %m", log_device_warning_errno(device, r, "Could not set WakeOnLan%s%s, ignoring: %m",
strna(str)); isempty(str) ? "" : " to ", strempty(str));
} }
r = ethtool_set_features(ethtool_fd, name, config->features); r = ethtool_set_features(ethtool_fd, name, config->features);