summaryrefslogtreecommitdiff
path: root/src/wchar
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-05-28 12:34:30 -0400
committerJakob Kaivo <jkk@ung.org>2024-05-28 12:34:30 -0400
commitdb616c2d5cff8477336b318d889e02112fe97f9a (patch)
tree4827495015891d4492ac50e05c6fe2d430b194b0 /src/wchar
parente6ef806ef40a421435b1209f0f79d778c03fe04a (diff)
handle stream orientation behavior
Diffstat (limited to 'src/wchar')
-rw-r--r--src/wchar/fputwc.c5
-rw-r--r--src/wchar/fputws.c6
-rw-r--r--src/wchar/fwide.c15
-rw-r--r--src/wchar/wcrtomb.c6
4 files changed, 9 insertions, 23 deletions
diff --git a/src/wchar/fputwc.c b/src/wchar/fputwc.c
index afbefedb..303e6c54 100644
--- a/src/wchar/fputwc.c
+++ b/src/wchar/fputwc.c
@@ -1,5 +1,3 @@
-#if 0
-
#include <wchar.h>
#include <stdio.h>
#include <limits.h>
@@ -41,6 +39,3 @@ wint_t fputwc(wchar_t c, FILE * stream)
/*
STDC(199409)
*/
-
-
-#endif
diff --git a/src/wchar/fputws.c b/src/wchar/fputws.c
index 4da7b13c..ad48fbfe 100644
--- a/src/wchar/fputws.c
+++ b/src/wchar/fputws.c
@@ -1,7 +1,6 @@
-#if 0
-
#include <wchar.h>
#include <stdio.h>
+#include "_safety.h"
int fputws(const wchar_t * restrict s, FILE * restrict stream)
{
@@ -21,6 +20,3 @@ int fputws(const wchar_t * restrict s, FILE * restrict stream)
/*
STDC(199409)
*/
-
-
-#endif
diff --git a/src/wchar/fwide.c b/src/wchar/fwide.c
index 9623d956..4dc965be 100644
--- a/src/wchar/fwide.c
+++ b/src/wchar/fwide.c
@@ -1,5 +1,3 @@
-#if 0
-
#include <wchar.h>
#include <stdio.h>
#include "stdio/_stdio.h"
@@ -9,10 +7,14 @@ int fwide(FILE * stream, int mode)
{
SIGNAL_SAFE(0);
- ASSERT_NONNULL(stream);
+ ASSERT_STREAM(stream, 0, 0);
- if (stream->orientation == 0) {
- stream->orientation = mode;
+ if (mode != 0) {
+ if (mode < 0) {
+ stream->orientation = ORIENT_BYTE;
+ } else if (mode > 0) {
+ stream->orientation = ORIENT_WIDE;
+ }
}
return stream->orientation;
}
@@ -20,6 +22,3 @@ int fwide(FILE * stream, int mode)
/*
STDC(199409)
*/
-
-
-#endif
diff --git a/src/wchar/wcrtomb.c b/src/wchar/wcrtomb.c
index 1c48df7f..20cbe235 100644
--- a/src/wchar/wcrtomb.c
+++ b/src/wchar/wcrtomb.c
@@ -1,7 +1,6 @@
-#if 0
-
#include <wchar.h>
#include <limits.h>
+#include "_safety.h"
size_t wcrtomb(char * restrict s, wchar_t wc, mbstate_t * restrict ps)
{
@@ -22,6 +21,3 @@ size_t wcrtomb(char * restrict s, wchar_t wc, mbstate_t * restrict ps)
/*
STDC(199409)
*/
-
-
-#endif