Page MenuHomeFreeBSD

awk: revert upstream's attempt to disallow hex strings
ClosedPublic

Authored by imp on Jul 15 2021, 10:52 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 16, 1:25 AM
Unknown Object (File)
Fri, Apr 5, 2:50 PM
Unknown Object (File)
Mar 12 2024, 10:15 PM
Unknown Object (File)
Mar 12 2024, 10:15 PM
Unknown Object (File)
Mar 12 2024, 10:15 PM
Unknown Object (File)
Mar 9 2024, 3:40 AM
Unknown Object (File)
Mar 9 2024, 3:40 AM
Unknown Object (File)
Mar 7 2024, 9:33 PM
Subscribers
None

Details

Summary

Upstream one-true-awk decided to disallow hex strings as numbers. This
is in line with awk's behavior prior to C99, and allowed by the POSIX
standard. The standard, however, allows them to be treated as numbers
because that's what the standard said in the 2001 through 2004 editions.
Since 2001, the nawk in FreeBSD has treated them as numbers, so restore
that behavior, allowed by the standard.

A number of scripts in the FreeBSD tree depend on this interpretation,
including scripts to build the kernel which had mysteriously started
failing for some people and not others. By re-allowing 0x hex numbers,
this fixes those scripts and restores POLA.

Upstream issue: https://github.com/onetrueawk/awk/issues/126
Sponsored by: Netflix
MFC After: ASAP

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

imp requested review of this revision.Jul 15 2021, 10:52 PM
imp created this revision.

This test makes more sense.

imp added a reviewer: kevans.
kevans added inline comments.
contrib/one-true-awk/lib.c
801

prior

This revision is now accepted and ready to land.Jul 15 2021, 10:59 PM