Mercurial > hg > octave-nkf
diff src/utils.h @ 13991:051a8f94b6f8
avoid memory issue with octave_vsnprintf
* utils.h, utils.cc (octave_vsnprintf, octave_snprintf):
Return std::string, not char *.
(octave_vformat, octave_format): Return size_t, not int.
(octave_vsnprintf): Simplify implementation with vasprintf.
Include gnulib vasprintf.h from gnulib.
* bootstrap.conf (gnulib_modules): Include vasprintf in the list.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 04 Dec 2011 15:57:58 -0500 |
parents | 6ead4dc1ca55 |
children | f8556baf1949 |
line wrap: on
line diff
--- a/src/utils.h +++ b/src/utils.h @@ -103,15 +103,15 @@ extern OCTINTERP_API FloatMatrix float_identity_matrix (octave_idx_type nr, octave_idx_type nc); -extern OCTINTERP_API int +extern OCTINTERP_API size_t octave_format (std::ostream& os, const char *fmt, ...); -extern OCTINTERP_API int +extern OCTINTERP_API size_t octave_vformat (std::ostream& os, const char *fmt, va_list args); -extern OCTINTERP_API char *octave_vsnprintf (const char *fmt, va_list args); +extern OCTINTERP_API std::string octave_vsnprintf (const char *fmt, va_list args); -extern OCTINTERP_API char *octave_snprintf (const char *fmt, ...); +extern OCTINTERP_API std::string octave_snprintf (const char *fmt, ...); extern OCTINTERP_API void octave_sleep (double seconds);