diff options
author | Thomas Haller <thaller@redhat.com> | 2021-09-16 16:50:15 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2021-09-21 08:29:46 +0200 |
commit | 44e484a6aa14c388c28750df2cb26b4810b3b399 (patch) | |
tree | 9b32c0cbce2c14f9b0aabd7f0bccd406eb4c7ee9 | |
parent | 0e384b017053bc513857ff03ced0917c0defd274 (diff) | |
download | NetworkManager-44e484a6aa14c388c28750df2cb26b4810b3b399.tar.gz |
initrd: refactor parsing of "rd.ethtool=" to accept zero positional arguments
The point of positional arguments is that you can omit them, and that
should be treated as the parameter being set to the default.
So, don't treat "rd.ethtool=eth0" (or "rd.ethtool=eth0:") special.
Just continue the parsing and take all following positional arguments
as unset.
-rw-r--r-- | src/nm-initrd-generator/nmi-cmdline-reader.c | 5 | ||||
-rw-r--r-- | src/nm-initrd-generator/tests/test-cmdline-reader.c | 10 |
2 files changed, 3 insertions, 12 deletions
diff --git a/src/nm-initrd-generator/nmi-cmdline-reader.c b/src/nm-initrd-generator/nmi-cmdline-reader.c index 367962d99d..f6aa87b924 100644 --- a/src/nm-initrd-generator/nmi-cmdline-reader.c +++ b/src/nm-initrd-generator/nmi-cmdline-reader.c @@ -1187,11 +1187,6 @@ reader_parse_ethtool(Reader *reader, char *argument) return; } - if (!*argument) { - _LOGW(LOGD_CORE, "Could not find rd.ethtool options to set"); - return; - } - autoneg_str = get_word(&argument, ':'); speed_str = get_word(&argument, ':'); diff --git a/src/nm-initrd-generator/tests/test-cmdline-reader.c b/src/nm-initrd-generator/tests/test-cmdline-reader.c index ccdb8ab7be..6f747fed1a 100644 --- a/src/nm-initrd-generator/tests/test-cmdline-reader.c +++ b/src/nm-initrd-generator/tests/test-cmdline-reader.c @@ -2318,11 +2318,9 @@ test_rd_ethtool(void) NMTST_EXPECT_NM_WARN("cmdline-reader: Impossible to set rd.ethtool options: invalid format"); _ethtool_check_inval("rd.ethtool="); - NMTST_EXPECT_NM_WARN("cmdline-reader: Could not find rd.ethtool options to set"); - _ethtool_check_inval("rd.ethtool=eth0"); + _ethtool_check("rd.ethtool=eth0", FALSE, 0); - NMTST_EXPECT_NM_WARN("cmdline-reader: Could not find rd.ethtool options to set"); - _ethtool_check_inval("rd.ethtool=eth0:"); + _ethtool_check("rd.ethtool=eth0:", FALSE, 0); NMTST_EXPECT_NM_WARN("cmdline-reader: Impossible to set rd.ethtool options: invalid format"); _ethtool_check_inval("rd.ethtool=::"); @@ -2407,9 +2405,7 @@ test_rd_ethtool(void) _ethtool_check_v(NM_MAKE_STRV("rd.ethtool=eth0:off:100", "rd.ethtool=eth0:off"), FALSE, 0); _ethtool_check_v(NM_MAKE_STRV("rd.ethtool=eth0:on:100", "rd.ethtool=eth0:on"), TRUE, 0); _ethtool_check_v(NM_MAKE_STRV("rd.ethtool=eth0:on:100", "rd.ethtool=eth0:off"), FALSE, 0); - - NMTST_EXPECT_NM_WARN("cmdline-reader: Could not find rd.ethtool options to set"); - _ethtool_check_v(NM_MAKE_STRV("rd.ethtool=eth0:off:100", "rd.ethtool=eth0:"), FALSE, 100); + _ethtool_check_v(NM_MAKE_STRV("rd.ethtool=eth0:off:100", "rd.ethtool=eth0:"), FALSE, 0); } /*****************************************************************************/ |