On Sun, Jan 15, 2023 at 11:48 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > On Sat, Jan 14, 2023 at 8:15 AM Miguel Ojeda > <miguel.ojeda.sandonis@xxxxxxxxx> wrote: > > > > On Thu, Jan 12, 2023 at 7:23 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > > > > > Maybe, your purpose is to use sed consistently, but > > > perhaps you can avoid forking sed if you know the > > > format of the first line. > > > > The most unknown format would be the one of the libclang check, where > > there may be other lines before the one we are interested in. However, > > the pattern expansion would still match newlines, right? > > > > > BTW, what is missing here is, you do not check if > > > ${RUSTC} is really rustc. > > > > > > I can fool this script to print > > > "arithmetic expression: expecting primary: "100000 * + 100 * + " > > > > We can test if nothing was printed by `sed` for that (or do it with > > shell builtins). > > > > Having said that, I would say fooling the script on purpose is an more > > of an oddity compared to the case `MAKEFLAGS` attempts to cover > > (please see my reply on the other patch). So if we cover this, then I > > would say we should really cover the other one. > > > > get_canonical_version() in scripts/as-version.sh has > a little more trick to avoid > "arithmetic expression: expecting primary: "100000 * + 100 * + " > but it is up to you. My code accepts anything that is separated by dots (and non-numerical strings are silently turned into zero). Your code takes exactly the "([0-9]+\.[0-9]+\.[0-9]+)" pattern, so it works very safely. I think using sed is fine. -- Best Regards Masahiro Yamada