]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/libc-extension.cc
(editor-command-template-alist): Use jedit
[lilypond.git] / flower / libc-extension.cc
index 3fa6e9b2d8e29f01dd3868d8f3c1dbcdce3d1cc4..dea40b6a108a36c3cd3b3e8e1dad269ff822344d 100644 (file)
@@ -121,7 +121,7 @@ my_swap (T &t1, T &t2, T &tmp)
 }
 
 unsigned char *
-strrev (unsigned char *byte, int length)
+memrev (unsigned char *byte, int length)
 {
   unsigned char tmp_byte;
   unsigned char *left = byte;
@@ -134,11 +134,13 @@ strrev (unsigned char *byte, int length)
 
 #if ! HAVE_SNPRINTF
 int
-snprintf (char *str, size_t, char const *format, ...)
+snprintf (char *str, size_t n, char const *format, ...)
 {
   va_list ap;
   va_start (ap, format);
   int i = vsprintf (str, format, ap);
+  if (i > 0 && (unsigned) i > n)
+    assert (false);
   va_end (ap);
   return i;
 }
@@ -146,9 +148,11 @@ snprintf (char *str, size_t, char const *format, ...)
 
 #if ! HAVE_VSNPRINTF
 int
-vsnprintf (char *str, size_t, char const *format, va_list args)
+vsnprintf (char *str, size_t n, char const *format, va_list args)
 {
   int i = vsprintf (str, format, args);
+  if (i > 0 && (unsigned) i > n)
+    assert (false);
   return i;
 }
 #endif
@@ -172,7 +176,6 @@ extern "C" {
                    (int (*) (void *, char const *, int)) fun.write,
                    (fpos_t (*) (void *, fpos_t, int)) fun.seek,
                    (int (*) (void *)) fun.close);
-
 #endif
   }
 
@@ -215,9 +218,9 @@ extern "C" {
     va_start (ap, format);
     if (is_memory_stream (file))
       {
-       static char buf[1024];
+       static char buf[65536];
        int i = vsnprintf (buf, sizeof (buf), format, ap);
-       if (i == -1)
+       if (i == -1 || (unsigned) i > sizeof (buf))
          assert (false);
        return Memory_out_stream::writer (file, buf, i);
       }