Page MenuHomeFreeBSD

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

Authored by imp on Thu, Jul 15, 10:52 PM.

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
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

imp requested review of this revision.Thu, Jul 15, 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
800

prior

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