From: Petr Machata <petrm@nvidia.com>
To: David Ahern <dsahern@gmail.com>,
Stephen Hemminger <stephen@networkplumber.org>,
<netdev@vger.kernel.org>
Cc: Patrisious Haddad <phaddad@nvidia.com>, Petr Machata <petrm@nvidia.com>
Subject: [PATCH iproute2-next 0/3] Change parse_one_of(), parse_on_off() to strcmp()
Date: Wed, 15 Nov 2023 16:31:56 +0100 [thread overview]
Message-ID: <cover.1700061513.git.petrm@nvidia.com> (raw)
Library functions parse_one_of() and parse_on_off() were added about three
years ago to unify all the disparate reimplementations of the same basic
idea. It used the matches() function to determine whether a string under
consideration corresponds to one of the patterns. This reflected many,
though not all cases of on/off parsing at the time.
This decision has some odd consequences. In particular, "o" can be used as
a shorthand for "off", which is not obvious, because "o" is the prefix of
both. By sheer luck, the end result actually makes some sense: "on" means
on, anything else either means off or errors out. Similar issues are in
principle also possible for parse_one_of() uses, though currently this does
not come up.
Ideally parse_on_off() would accept the strings "on" and "off" and no
others, likewise for parse_one_of().
Hence this patchset, which renames the existing functions to
parse_one_of_deprecated() and parse_on_off_deprecated(), respectively,
and introduces the new functions in their place, parse_one_of() and
parse_on_off(), which use strcmp() under the hood.
Petr Machata (3):
lib: utils: Switch matches() to returning int again
lib: utils: Generalize code of parse_one_of(), parse_on_off()
lib: utils: Add parse_one_of_deprecated(), parse_on_off_deprecated()
bridge/link.c | 48 ++++++++++++++++++++++++++--------------
bridge/vlan.c | 4 ++--
dcb/dcb_ets.c | 6 +++--
dcb/dcb_pfc.c | 5 +++--
include/utils.h | 6 ++++-
ip/iplink.c | 15 ++++++++-----
ip/iplink_bridge_slave.c | 2 +-
ip/ipmacsec.c | 27 +++++++++++++---------
ip/ipstats.c | 3 ++-
lib/utils.c | 44 ++++++++++++++++++++++++++++--------
10 files changed, 109 insertions(+), 51 deletions(-)
--
2.41.0
next reply other threads:[~2023-11-15 15:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-15 15:31 Petr Machata [this message]
2023-11-15 15:31 ` [PATCH iproute2-next 1/3] lib: utils: Switch matches() to returning int again Petr Machata
2023-11-15 15:31 ` [PATCH iproute2-next 2/3] lib: utils: Generalize code of parse_one_of(), parse_on_off() Petr Machata
2023-11-15 15:31 ` [PATCH iproute2-next 3/3] lib: utils: Add parse_one_of_deprecated(), parse_on_off_deprecated() Petr Machata
2023-11-15 15:57 ` Stephen Hemminger
2023-11-15 15:59 ` Stephen Hemminger
2023-11-15 16:57 ` Petr Machata
2023-11-20 22:27 ` David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1700061513.git.petrm@nvidia.com \
--to=petrm@nvidia.com \
--cc=dsahern@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=phaddad@nvidia.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.