Proof that it's valid:
------------------------- foo.pp -------------------------
program foo;
uses sysutils;
begin
writeln(format('%.f', [3.
1415926535]));
end.
----------------------------------------------------------
* gettext-tools/src/format-pascal.c: Fix comment regarding the precision.
(format_parse): Accept a null precision after '.'.
* gettext-tools/tests/format-pascal-1: Add a test case with null precision.
- is optionally followed by a width specification: '*' (reads an
argument, must be of type integer) or a nonempty digit sequence,
- is optionally followed by '.' and a precision specification: '*'
- (reads an argument, must be of type integer) or a nonempty digit
- sequence,
+ (reads an argument, must be of type integer) or an optional nonempty
+ digit sequence,
- is finished by a case-insensitive specifier. If no index was
specified, it reads an argument; otherwise is uses the index-th
argument, 0-based.
format++;
}
- else
- --format; /* will jump to bad_format */
}
switch (c_tolower (*format))
"abc%y"
# Invalid: flags after width
"abc%*-g"
+# Valid: null precision
+"abc%.f"
# Invalid: twice precision
"abc%.4.2g"
# Valid: three arguments