diff options
author | Jude Brown <bookofjude@users.sourceforge.net> | 2009-12-17 15:40:35 +1000 |
---|---|---|
committer | Jude Brown <bookofjude@users.sourceforge.net> | 2009-12-17 15:40:35 +1000 |
commit | bcded162d475e11c5c79a021ae96307acdda62cc (patch) | |
tree | ad9ddc1e92a78a4ce16068ad573daf60a24e83cc /crawl-ref/source | |
parent | fc4c1660e532790ae84fd2978a086d20a3841f03 (diff) | |
parent | b87aa0f9d3d43fe02ee440803adbc4e967985162 (diff) | |
download | crawl-ref-bcded162d475e11c5c79a021ae96307acdda62cc.tar.gz crawl-ref-bcded162d475e11c5c79a021ae96307acdda62cc.zip |
Merge branch 'master' into wizlab
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/libutil.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/crawl-ref/source/libutil.cc b/crawl-ref/source/libutil.cc index eeaf949b61..4ea5b0dace 100644 --- a/crawl-ref/source/libutil.cc +++ b/crawl-ref/source/libutil.cc @@ -141,12 +141,14 @@ std::string make_stringf(const char *s, ...) va_list args; va_start(args, s); - char buf[400]; - vsnprintf(buf, sizeof buf, s, args); + size_t len = vsnprintf(NULL, 0, s, args); + char *buf = (char *)malloc(len + 1); + vsnprintf(buf, len + 1, s, args); + std::string ret(buf); + free(buf); va_end(args); - - return (buf); + return (ret); } std::string &escape_path_spaces(std::string &s) |