diff --git a/hypua2jamo_build.py b/hypua2jamo_build.py index 83dbcd6..adf8e65 100644 --- a/hypua2jamo_build.py +++ b/hypua2jamo_build.py @@ -35,8 +35,9 @@ int hypua_p2jc_ucs2_encode(const unsigned short *src, int srclen, unsigned short *dst); int hypua_p2jd_ucs4_calcsize(const unsigned int *src, int srclen); int hypua_p2jd_ucs4_encode(const unsigned int *src, int srclen, unsigned int *dst); -int hypua_p2jd_ucs2_calcsize(const unsigned int *src, int srclen); +int hypua_p2jd_ucs2_calcsize(const unsigned short *src, int srclen); int hypua_p2jd_ucs2_encode(const unsigned short *src, int srclen, unsigned short *dst); +void hypua_p2jd_ucs2_test(); int hypua_jc2p_ucs4_calcsize(const unsigned int *src, int srclen); int hypua_jc2p_ucs4_decode(const unsigned int *src, int srclen, unsigned int *dst); diff --git a/src/hypua2jamo-c/p2jc.cpp b/src/hypua2jamo-c/p2jc.cpp index 87de226..618b6d2 100644 --- a/src/hypua2jamo-c/p2jc.cpp +++ b/src/hypua2jamo-c/p2jc.cpp @@ -21,7 +21,6 @@ extern "C" int hypua_p2jc_ucs2_calcsize(const uint16_t *src, int srclen) { extern "C" int hypua_p2jc_ucs2_encode(const uint16_t *src, int srclen, uint16_t *dst) { - printf("hypua_p2jc_ucs2_encode\n"); return encode(src, srclen, dst); } diff --git a/src/hypua2jamo-c/p2jd.cpp b/src/hypua2jamo-c/p2jd.cpp index 21b5bb5..2214bf6 100644 --- a/src/hypua2jamo-c/p2jd.cpp +++ b/src/hypua2jamo-c/p2jd.cpp @@ -1,4 +1,5 @@ #include +#include #include #include "config.h" @@ -21,7 +22,6 @@ extern "C" int hypua_p2jd_ucs2_calcsize(const uint16_t *src, int srclen) { extern "C" int hypua_p2jd_ucs2_encode(const uint16_t *src, int srclen, uint16_t *dst) { - printf("hypua_p2jd_ucs2_encode\n"); return encode(src, srclen, dst); } @@ -34,3 +34,14 @@ extern "C" int hypua_p2jd_ucs4_calcsize(const uint32_t *src, int srclen) { extern "C" int hypua_p2jd_ucs4_encode(const uint32_t *src, int srclen, uint32_t *dst) { return encode(src, srclen, dst); } + + +extern "C" void hypua_p2jd_ucs2_test() { + uint16_t src = 0xF7CA; + int size = hypua_p2jd_ucs2_calcsize(&src, 1); + void *buf = malloc(size); + int n_encoded = hypua_p2jd_ucs2_encode(&src, 1, (uint16_t*)buf); + printf("hypua_p2jd_ucs2_test: size=%d encoded=%d\n", size, n_encoded); + printf("p2jd_F7CA: len=%d\n", p2jd_F7CA[0]); + free(buf); +} diff --git a/tests/test_conversion.py b/tests/test_conversion.py index 8d90026..87e2f95 100644 --- a/tests/test_conversion.py +++ b/tests/test_conversion.py @@ -367,6 +367,10 @@ def test_f7ca(self): jamo = encoder.encode(u'\uf7ca', final=True) self.assertEqual(u'\u1109\u1109', jamo) + def test_hypua_p2jd_ucs2(self): + from hypua2jamo._cffi import lib + lib.hypua_p2jd_ucs2_test() + class ComposedJamoEncoderImplementationOnCythonTest( TestCase,