[Issue 2479] sformat is broken
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Aug 29 14:45:41 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2479
Brad Roberts <braddr at puremagic.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |braddr at puremagic.com
--- Comment #2 from Brad Roberts <braddr at puremagic.com> 2009-08-29 14:45:40 PDT ---
A reduced test case (larger, but complete and doesn't import large swaths of
code). This is a massive reduction of all the irrelevant parts of doFormat
torn away, and sformat reduced a good bit as well.
module bug2479;
import std.stdarg;
void doFormat(void delegate(dchar) myputc, TypeInfo[] arguments, va_list
argptr)
{
string fmt = va_arg!(string)(argptr);
assert(!(fmt is null)); // fires when it shouldn't.
}
char[] sformat(char[] s, ...)
{
void putc(dchar c) { s[0] = cast(char)c; }
doFormat(&putc, _arguments, _argptr);
return s[0 .. 1];
}
void main()
{
char[32] tmp;
sformat(tmp, "%s", "hi");
}
Changing putc to not touch 's' causes the va_arg call to succeed an fmt is no
longer null.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list