mprintf, msprintf, mfprintf: the "%c" format is badly handled: providing US-ASCII codes yields errors
Reported by Samuel GOUGEON (@sgougeon)
BUG DESCRIPTION:
----------------
mprintf("%c\n", 65), msprintf("%c\n", 65), mfprintf(fid, "%c\n", 65) should print ascii(65)=="A".
Instead, an error is yielded:
--> mprintf("%c\n", 65)
mprintf: Wrong number of input arguments: data doesn't fit with format.
--> msprintf("%c\n", 65)
msprintf: Wrong number of input arguments: data doesn't fit with format.
ERROR LOG:
----------
HOW TO REPRODUCE THE BUG:
-------------------------
mprintf("%c\n", 65)
msprintf("%c\n", 65)
OTHER INFORMATION:
------------------
Instead of a US-ASCII code expected as documented (), Scilab actually accept strings.
Up to Scilab 5.5, only the first character of the input string was printed.
-->msprintf("AB %c\n", "123")
ans =
AB 1
Since Scilab 6.0.0, the full input string is printed:
--> msprintf("AB %c\n", "123")
ans =
"AB 123"
It looks like Scilab has always been wrong for handling "%c":