OSDN Git Service

2008-03-07 Jeff Johnston <jjohnstn@redhat.com>
authorjjohnstn <jjohnstn>
Fri, 7 Mar 2008 16:45:01 +0000 (16:45 +0000)
committerjjohnstn <jjohnstn>
Fri, 7 Mar 2008 16:45:01 +0000 (16:45 +0000)
        * libc/include/sys/reent.h(_REENT_SMALL_CHECK_INIT): Specify
        this macro completely instead of referring to CHECK_STD_INIT which
        is only found in libc/stdio/local.h.
        * libc/stdio/dprintf.c: Add include of local.h.
        * libc/stdio/vdprintf.c: Ditto.
        * libc/stdio/vdiprintf.c: Ditto.

newlib/ChangeLog
newlib/libc/include/sys/reent.h
newlib/libc/stdio/dprintf.c
newlib/libc/stdio/vdiprintf.c
newlib/libc/stdio/vdprintf.c

index b38996c..04526b0 100644 (file)
@@ -1,3 +1,12 @@
+2008-03-07  Jeff Johnston  <jjohnstn@redhat.com>
+
+       * libc/include/sys/reent.h(_REENT_SMALL_CHECK_INIT): Specify
+       this macro completely instead of referring to CHECK_STD_INIT which
+       is only found in libc/stdio/local.h.
+       * libc/stdio/dprintf.c: Add include of local.h.
+       * libc/stdio/vdprintf.c: Ditto.
+       * libc/stdio/vdiprintf.c: Ditto.
+
 2008-03-04  Eric Blake  <ebb9@byu.net>
 
        Fix strtod("nan()", ptr).
index 39785d7..37fad56 100644 (file)
@@ -149,8 +149,19 @@ struct __sFILE_fake {
 
   struct _reent *_data;
 };
-/* CHECK_STD_INIT() comes from stdio/local.h; be sure to include that.  */
-# define _REENT_SMALL_CHECK_INIT(ptr) CHECK_STD_INIT(ptr)
+
+/* Following is needed both in libc/stdio and libc/stdlib so we put it
+ * here instead of libc/stdio/local.h where it was previously. */
+
+extern _VOID   _EXFUN(__sinit,(struct _reent *));
+
+# define _REENT_SMALL_CHECK_INIT(ptr)          \
+  do                                           \
+    {                                          \
+      if ((ptr) && !(ptr)->__sdidinit)         \
+       __sinit (ptr);                          \
+    }                                          \
+  while (0)
 #else
 # define _REENT_SMALL_CHECK_INIT(ptr) /* nothing */
 #endif
index 53bb50b..b0eb191 100644 (file)
@@ -45,6 +45,7 @@ Supporting OS subroutines required: <<sbrk>>, <<write>>.
 #include <stdio.h>
 #include <unistd.h>
 #include <stdarg.h>
+#include "local.h"
 
 int
 _DEFUN(_dprintf_r, (ptr, fd, format),
index b9b9473..51bdb00 100644 (file)
@@ -10,6 +10,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdarg.h>
+#include "local.h"
 
 int
 _DEFUN(_vdiprintf_r, (ptr, fd, format, ap),
index 8a20235..bfb19c9 100644 (file)
@@ -10,6 +10,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdarg.h>
+#include "local.h"
 
 int
 _DEFUN(_vdprintf_r, (ptr, fd, format, ap),