small change to brace expansion to inhibit some error messages; changes to printf builtin for precision and field widths

This commit is contained in:
Chet Ramey
2023-10-23 09:50:02 -04:00
parent 1e1a0342a4
commit b348b871b4
19 changed files with 376 additions and 44 deletions
+55 -8
View File
@@ -21,6 +21,8 @@ this\&that
echo a\\;ls
echo a\'\;ls
echo 'a'\''b'\;ls
\*
\*
1 2 3 4 5
onestring 0 0 0
onestring 0 0 0.00
@@ -38,7 +40,7 @@ A7
--\"abcd\"--
--\'abcd\'--
--a\x--
./printf.tests: line 112: printf: missing hex digit for \x
./printf.tests: line 115: printf: missing hex digit for \x
--\x--
----
----
@@ -99,12 +101,12 @@ A7
26
26
26
./printf.tests: line 236: printf: `%10': missing format character
./printf.tests: line 237: printf: `M': invalid format character
ab./printf.tests: line 240: printf: `y': invalid format character
./printf.tests: line 243: printf: GNU: invalid number
./printf.tests: line 239: printf: `%10': missing format character
./printf.tests: line 240: printf: `M': invalid format character
ab./printf.tests: line 243: printf: `y': invalid format character
./printf.tests: line 246: printf: GNU: invalid number
0
./printf.tests: line 244: printf: GNU: invalid number
./printf.tests: line 247: printf: GNU: invalid number
0
-
(foo )(bar )
@@ -157,9 +159,15 @@ b
xx
xx
< >< >
./printf.tests: line 348: printf: 9223372036854775825: Result too large
0
^@
0
0.00
''
''
./printf.tests: line 364: printf: 9223372036854775825: Result too large
9223372036854775807
./printf.tests: line 349: printf: -9223372036854775815: Result too large
./printf.tests: line 365: printf: -9223372036854775815: Result too large
-9223372036854775808
one
one\ctwo
@@ -330,6 +338,10 @@ hello --
hello --
123 --
6 --
0000000 000
0000001
0000000 000
0000001
0000000 340 262 207 340 262 263 340 262 277 340 262 225 340 263 206 340
0000010 262 227 340 262 263 340 263 201 012
0000019
@@ -355,3 +367,38 @@ hello --
0000007
0000000 340 262 207 040 040 040 055 055 055 012
000000a
[][]
./printf7.sub: line 19: printf: 21474836470: Result too large
[]
./printf7.sub: line 20: printf: 21474836470: Result too large
[X]
./printf7.sub: line 22: printf: 21474836470: Result too large
VAR=[]
./printf7.sub: line 25: printf: 21474836470: Result too large
VAR=[X]
./printf7.sub: line 31: printf: 9223372036854775825: Result too large
[ ]
./printf7.sub: line 32: printf: 9223372036854775825: Result too large
[X]
./printf7.sub: line 34: printf: 9223372036854775825: Result too large
VAR=[ ]
./printf7.sub: line 37: printf: 9223372036854775825: Result too large
VAR=[X]
./printf7.sub: line 43: printf: 21474836470: Result too large
[]
./printf7.sub: line 44: printf: 21474836470: Result too large
[X]
./printf7.sub: line 46: printf: 21474836470: Result too large
VAR=[]
./printf7.sub: line 49: printf: 21474836470: Result too large
VAR=[X]
./printf7.sub: line 55: printf: 9223372036854775825: Result too large
[]
./printf7.sub: line 56: printf: 9223372036854775825: Result too large
[X]
./printf7.sub: line 58: printf: 9223372036854775825: Result too large
VAR=[]
./printf7.sub: line 61: printf: 9223372036854775825: Result too large
VAR=[X]
XY
XY