]> pd.if.org Git - pdclib/blobdiff - opt/basecodecs/_PDCLIB_ascii.c
PDCLib includes with quotes, not <>.
[pdclib] / opt / basecodecs / _PDCLIB_ascii.c
index a705a7a75b43da5b18e429b681601b0ad7d144dc..ac5a593d963266367c61b18f814b834eda2fff08 100644 (file)
@@ -7,13 +7,17 @@
 #include <stdbool.h>
 #ifndef REGTEST
 #include <uchar.h>
+#include "_PDCLIB_encoding.h"
+
+static bool ascii_mbsinit( const mbstate_t *ps )
+{ return 1; }
 
 static bool asciitoc32(
-    char32_t       **restrict   p_outbuf,
-    size_t          *restrict   p_outsz,
-    const char     **restrict   p_inbuf,
-    size_t          *restrict   p_insz,
-    mbstate_t       *restrict   p_ps
+    char32_t       *restrict *restrict   p_outbuf,
+    size_t                   *restrict   p_outsz,
+    const char     *restrict *restrict   p_inbuf,
+    size_t                   *restrict   p_insz,
+    mbstate_t                *restrict   p_ps
 )
 {
     while(*p_outsz && *p_insz) {
@@ -34,11 +38,11 @@ static bool asciitoc32(
 }
 
 static bool c32toascii(
-    char           **restrict  p_outbuf,
-    size_t          *restrict  p_outsz,
-    const char32_t **restrict  p_inbuf,
-    size_t          *restrict  p_insz,
-    mbstate_t       *restrict  p_ps
+    char           *restrict *restrict  p_outbuf,
+    size_t                   *restrict  p_outsz,
+    const char32_t *restrict *restrict  p_inbuf,
+    size_t                   *restrict  p_insz,
+    mbstate_t                *restrict  p_ps
 )
 {
     while(*p_outsz && *p_insz) {
@@ -58,15 +62,17 @@ static bool c32toascii(
     return true;
 }
 
-_PDCLIB_charcodec _PDCLIB_ascii_codec = {
+const struct _PDCLIB_charcodec_t _PDCLIB_ascii_codec = {
+    .__mbsinit   = ascii_mbsinit,
     .__mbstoc32s = asciitoc32,
     .__c32stombs = c32toascii,
+    .__mb_max    = 1,
 };
 
 #endif
 
 #ifdef TEST
-#include <_PDCLIB_test.h>
+#include "_PDCLIB_test.h"
 
 int main( void )
 {