mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
typeset: Allow last numeric type given to be used (#221)
For most numeric types the last provided one wins out. This commit closes the gap for -F and -i numerics to not be covered up by other preceding float types. Note: -u for requesting an unsigned float or integer was considered and decided to be left alone as it stands, so as to not allow the variable to become an uppercased string if the requested options ended with a -u. As it stands for a case when multiple numeric types are requested, a -u option may be applied after the last numeric type is processed. Examples: -EF becomes -F -Fi becomes -i -Fu becomes -F -uF becomes -F -Fui becomes -i (because isfloat==1, unsigned is not applied) -Fiu becomes -iu (isfloat is reset and allows unsigned to be set) src/cmd/ksh93/bltins/typeset.c: b_typeset(): - Reset attribute bit flags for -E and -X when -F is requested by adding in NV_EXPNOTE to be removed. - For -i option if a float precedes it, reset isfloat and -E/-F attribute bit flags. - Take into account the impact of the shortint flag on floats. src/cmd/ksh93/tests/attributes.sh: - Add some validation tests to confirm that, when a -F follows either -E or -X, -F is used. - Add some validation tests to confirm that, when -F/E/X precede a -i, the variable becomes an integer and not a float. - Add in various tests when -s followed a float.
This commit is contained in:
parent
1df6a82a8a
commit
4f9ce41aaa
3 changed files with 41 additions and 6 deletions
4
NEWS
4
NEWS
|
@ -8,6 +8,10 @@ Any uppercase BUG_* names are modernish shell bug IDs.
|
|||
- If the HOME variable is unset, the bare tilde ~ now expands to the current
|
||||
user's system-configured home directory instead of merely the username.
|
||||
|
||||
- Tighten up potential invalid typeset attribute combos when more than
|
||||
one numeric type has been requested. In particular, -F and -i are no
|
||||
longer masked over by previously given float types.
|
||||
|
||||
2021-03-13:
|
||||
|
||||
- Fixed a file descriptor leak that occurred when ksh used /dev/fd for
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue