aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog15
-rw-r--r--newlib/libc/stdio/vfprintf.c4
2 files changed, 17 insertions, 2 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index c18c215..78c901b 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,18 @@
+2004-05-11 Artem B. Bityuckiy <abitytsky@softminecorp.com>
+
+ * libc/stdio/vfprintf.c (VFPRINTF_R): Use _free_r instead
+ of free.
+
+2004-05-07 Artem B. Bityuckiy <abitytsky@softminecorp.com>
+
+ * libc/stdio/iprintf.c (_iprintf_r): Fix old-style argument
+ list for reentrant pointer. Call _vfiprintf_r.
+ * libc/stdio/siprintf.c (_siprintf_r): New function.
+ * libc/stdio/vfprintf.c (__sbprintf): Add reetrant struct
+ pointer argument. Change all callers. Call _VFPRINTF_R.
+ * libc/include/stdio.h (_siprintf_r, _vfiprintf_r): New
+ prototypes.
+
2004-05-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/param.h: Remove endian info and include
diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c
index 9069347..057a2a3 100644
--- a/newlib/libc/stdio/vfprintf.c
+++ b/newlib/libc/stdio/vfprintf.c
@@ -1201,7 +1201,7 @@ number: if ((dprec = prec) >= 0)
FLUSH (); /* copy out the I/O vectors */
if (malloc_buf != NULL) {
- free (malloc_buf);
+ _free_r (data, malloc_buf);
malloc_buf = NULL;
}
}
@@ -1209,7 +1209,7 @@ done:
FLUSH ();
error:
if (malloc_buf != NULL)
- free (malloc_buf);
+ _free_r (data, malloc_buf);
return (__sferror (fp) ? EOF : ret);
/* NOTREACHED */
}