Re: [PATCH] build: Avoid length() GNU awk extension
Mike Frysinger <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <Yihu+fA/bJ2TVNLO@vapier> |
On 09 Mar 2022 03:54, Mike Frysinger wrote: > On 09 Mar 2022 08:31, Sebastian Huber wrote: > > Other awk implementations such as mawk do not support the length() function. > > those awk implementations are not POSIX compliant. length() is > *not* a GNU extension. you can see it clearly defined in POSIX: > https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html#tag_20_06_13_13 sorry, i quoted length() as used to count bytes in a string, not elements in an array. POSIX doesn't support that. i would still argue that, while gawk supports it, it isn't a GNU extension. bwk supported it back in 2002, and gawk didn't implement it until ~2005. > that said, mawk does support length(), and has since at least 2008 in > the 1.3.3 release. i stopped looking back further in the history. the original mawk has been dead for over a decade. i hope you're not trying to use such vintage tools. Thomas E. Dickey picked up maintenance and has produced a series of fixes & improvements, and every distro i'm aware of is using his fork. https://invisible-island.net/mawk/ i mention this because he implemented length() to count array elements back in 2012. so if you still haven't updated to a version that supports that, you should really get on top of that. all that said, the patch you propose is a simple alternative that is POSIX compliant, so i'm fine with it too. -mike
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmIobvkACgkQQWM7n+g3 9YFlEA//YmfhdBTrEDafMiFviEKUAXZ6Q9K5EWesSUSUGR3n4jLoKXTXcQbTcSZG IJp7Pbq/JY7G/hG9PrUUHh7oue440zKK2M+P6Lbsq383z/p32kTht8COuM/OLFha B0p3/ZRdaLJSBQPuxuSb19+pNju/J/GmnL/63hhKKzttocm5FBBsaEtX9PMxvF+8 7D7oCD0ooz9tuTaESdWbyD0oDg57ywpikKa+tGgN0P9GIolIZBfgjlINUDTze2hA +FuLQjzbdzaXF9EAZYLhdvYvBcgjZ5S+xqOATGEki3Ot7MYMZ0CK4b9NgNazNrOw oUzdp3/TPeBXGTmh0Bw0qmaVKKiUzX0olwcCiEerDsm+0dHCrVlV4HtmyxmdCsyY pRRp/jWjM1bvD9R3J26Yj25RS3VqOYSY9BnnewfVURmjL3XCfIkLO8UQlB7h8uSh rnPrDpLNgYRRHDPBr1V2APrlXqnqst9GzAOfAz49BrgkP6JOamvBAuuI/G6VpYdv 9OhiGQcdWIqhxWOw1yu54VEui5sPVV2z5vWNkM+cUZZGn+7sH5u9c75Mz8jz7AAT xajex9uYT7LSy9WxGzU0f/UGUe7uQruvx6pOLSmnAkvm8zE1+i8mPnTMInvOQnv/ KIMyjDS/E6DLNa7qmYo8yEpy2mvukoVXtT09T7GHhEfa2mJN7J8= =XF4L -----END PGP SIGNATURE-----