]> pd.if.org Git - pdclib.old/commitdiff
PDCLIB-2: <wchar.h>: don't expect or expose definition of FILE. Declare mbstate_t...
authorOwen Shepherd <owen.shepherd@e43.eu>
Tue, 11 Sep 2012 21:46:07 +0000 (22:46 +0100)
committerOwen Shepherd <owen.shepherd@e43.eu>
Tue, 11 Sep 2012 21:46:07 +0000 (22:46 +0100)
includes/wchar.h
internals/_PDCLIB_int.h
platform/example/internals/_PDCLIB_config.h
platform/win32/internals/_PDCLIB_config.h

index a98abdbdea20ba7aa1f2d5397c304c44ca68516b..bac7f40e40524f8cf0f1c65229c651897c9d22c2 100644 (file)
@@ -32,7 +32,7 @@ typedef _PDCLIB_wint_t wint_t;
 \r
 #ifndef _PDCLIB_MBSTATE_T_DEFINED\r
 #define _PDCLIB_MBSTATE_T_DEFINED _PDCLIB_MBSTATE_T_DEFINED\r
-typedef _PDCLIB_mbstate_t mbstate_t;\r
+typedef struct _PDCLIB_mbstate_t mbstate_t;\r
 #endif\r
 \r
 struct tm;\r
@@ -78,28 +78,28 @@ size_t wcsftime(wchar_t *_PDCLIB_restrict s, size_t maxsize, const wchar_t *_PDC
 #endif\r
 \r
 /* Wide character I/O */\r
-int fwprintf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
-int fwscanf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
+int fwprintf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
+int fwscanf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
 int swprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, ...);\r
 int swscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, ...);\r
-int vfwprintf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vfwscanf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vswprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vswscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vwprintf(const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vwscanf(const wchar_t *_PDCLIB_restrict format, va_list arg);\r
+int vfwprintf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
+int vfwscanf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
+int vswprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
+int vswscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
+int vwprintf(const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
+int vwscanf(const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
 int wprintf(const wchar_t *_PDCLIB_restrict format, ...);\r
 int wscanf(const wchar_t *_PDCLIB_restrict format, ...);\r
-wint_t fgetwc(FILE *stream);\r
-wchar_t *fgetws(wchar_t *_PDCLIB_restrict s, int n, FILE *_PDCLIB_restrict stream);\r
-wint_t fputwc(wchar_t c, FILE *stream);\r
-int fputws(const wchar_t *_PDCLIB_restrict s, FILE *_PDCLIB_restrict stream);\r
-int fwide(FILE *stream, int mode);\r
-wint_t getwc(FILE *stream);\r
+wint_t fgetwc(struct _PDCLIB_file_t *stream);\r
+wchar_t *fgetws(wchar_t *_PDCLIB_restrict s, int n, struct _PDCLIB_file_t *_PDCLIB_restrict stream);\r
+wint_t fputwc(wchar_t c, struct _PDCLIB_file_t *stream);\r
+int fputws(const wchar_t *_PDCLIB_restrict s, struct _PDCLIB_file_t *_PDCLIB_restrict stream);\r
+int fwide(struct _PDCLIB_file_t *stream, int mode);\r
+wint_t getwc(struct _PDCLIB_file_t *stream);\r
 wint_t getwchar(void);\r
-wint_t putwc(wchar_t c, FILE *stream);\r
+wint_t putwc(wchar_t c, struct _PDCLIB_file_t *stream);\r
 wint_t putwchar(wchar_t c);\r
-wint_t ungetwc(wint_t c, FILE *stream);\r
+wint_t ungetwc(wint_t c, struct _PDCLIB_file_t *stream);\r
 \r
 /* Wide character <-> Numeric conversions */\r
 #if 0\r
index fee45ce130e424843140df021ed94318afff857d..2900ff3aca9ff94d730686406b9508a08a31b4c2 100644 (file)
@@ -230,6 +230,7 @@ typedef _PDCLIB_ptrdiff     _PDCLIB_ptrdiff_t;
 typedef _PDCLIB_size     _PDCLIB_size_t;
 #define _PDCLIB_SIZE_MAX _PDCLIB_concat( _PDCLIB_concat( _PDCLIB_, _PDCLIB_SIZE ), _MAX )
 
+typedef _PDCLIB_wint      _PDCLIB_wint_t;
 typedef _PDCLIB_wchar     _PDCLIB_wchar_t;
 #define _PDCLIB_WCHAR_MIN _PDCLIB_concat( _PDCLIB_concat( _PDCLIB_, _PDCLIB_WCHAR ), _MIN )
 #define _PDCLIB_WCHAR_MAX _PDCLIB_concat( _PDCLIB_concat( _PDCLIB_, _PDCLIB_WCHAR ), _MAX )
@@ -466,4 +467,12 @@ struct _PDCLIB_ctype_t
     unsigned char collation;
 };
 
+/* -------------------------------------------------------------------------- */
+/* mbstate_t                                                                  */
+/* -------------------------------------------------------------------------- */
+
+struct _PDCLIB_mbstate_t {
+    _PDCLIB_uint32_t st[4];
+};
+
 #endif
index 0163753dfbb64a6ced89bd8b2f8ff9f410265c17..00dbc241b5f1ab477e3511d8b9568c8caf00b565 100644 (file)
@@ -143,8 +143,9 @@ struct _PDCLIB_lldiv_t
 /* Large enough an integer to hold all character codes of the largest supported
    locale.
 */
-#define _PDCLIB_wchar unsigned short 
-#define _PDCLIB_WCHAR USHRT
+#define _PDCLIB_wint  signed int
+#define _PDCLIB_wchar unsigned int
+#define _PDCLIB_WCHAR UINT
 
 #define _PDCLIB_intptr int
 #define _PDCLIB_INTPTR INT
index 1d233ebd630d00f4067ed84e6f24b5666a8a166a..abefef934233fddbb9eb890417ab3ddfbeb8a8ec 100644 (file)
@@ -162,6 +162,7 @@ struct _PDCLIB_lldiv_t
 
    XX: Windows requires wchar_t be an unsigned short, but this is not compliant.
 */
+#define _PDCLIB_wint  signed short
 #define _PDCLIB_wchar unsigned short 
 #define _PDCLIB_WCHAR USHRT