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);