awk: Issue a warning for old hex behavior.
Since FreeBSD has allowed "0x" hex strings to be converted to integers for a long time, and since upstream has killed that behavior, warn about this issue. This will allow us to deprecate this behavior for 14.0 while giving our users of 12.x and 13.x fair warning. Sponsored by: Netflix
This commit is contained in:
parent
51221b68fb
commit
acf9cf323f
@ -798,11 +798,16 @@ bool is_valid_number(const char *s, bool trailing_stuff_ok,
|
||||
* where hex strings were treated as numbers in nawk the whole time it has been
|
||||
* in FreeBSD (since 2001). The POSIX 2001 through 2004 standards mandated this
|
||||
* behavior and the current standard allows it. Deviate from upstream by restoring
|
||||
* the prior FreeBSD behavior.
|
||||
* the prior FreeBSD behavior, but warning that it differs.
|
||||
*/
|
||||
#if 0
|
||||
// no hex floating point, sorry
|
||||
if (s[0] == '0' && tolower(s[1]) == 'x')
|
||||
#ifdef __FreeBSD__
|
||||
{ static int warned = 0; /* Only warn the first time */
|
||||
if (warned++ == 0)
|
||||
WARNING("Script depends on old '0x' hex conversion behavior");
|
||||
}
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user