[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 4/5] libc: fputws()
+ libc: fputws()
Signed-off-by: Antoine Kaufmann <toni@xxxxxxxxxx>
---
src/modules/include/wchar.h | 10 ++++++++++
src/modules/lib/stdlibc/wstdio.c | 20 ++++++++++++++++++++
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/modules/include/wchar.h b/src/modules/include/wchar.h
index a6c0a32..3870f9d 100644
--- a/src/modules/include/wchar.h
+++ b/src/modules/include/wchar.h
@@ -586,5 +586,15 @@ wint_t fputwc(wchar_t wc, FILE* stream);
*/
wint_t putwchar(wchar_t wc);
+/**
+ * Einen String aus breiten Zeichen in den angegebenen Stream schreiben.
+ *
+ * @param wcs Zeiger auf den String aus breiten Zeichen
+ * @param stream Die geoeffnete Datei
+ *
+ * @return Bei Erfolg > 0, im Fehlerfall -1
+ */
+int fputws(const wchar_t* wcs, FILE* stream);
+
#endif //ifndef _WCHAR_H_
diff --git a/src/modules/lib/stdlibc/wstdio.c b/src/modules/lib/stdlibc/wstdio.c
index 85353fb..34a6aa1 100644
--- a/src/modules/lib/stdlibc/wstdio.c
+++ b/src/modules/lib/stdlibc/wstdio.c
@@ -118,3 +118,23 @@ wint_t putwchar(wchar_t wc)
return fputwc(wc, stdout);
}
+/**
+ * Einen String aus breiten Zeichen in den angegebenen Stream schreiben. Das
+ * abschliessende L'\0' wird nicht mitgeschrieben.
+ *
+ * @param wcs Zeiger auf den String aus breiten Zeichen
+ * @param stream Die geoeffnete Datei
+ *
+ * @return Bei Erfolg > 0, im Fehlerfall -1
+ */
+int fputws(const wchar_t* wcs, FILE* stream)
+{
+ while (*wcs) {
+ if (fputwc(*wcs, stream) == WEOF) {
+ return -1;
+ }
+ wcs++;
+ }
+ return 0;
+}
+
--
1.6.0.6