52 const uint8_t *Comma1 = memchr(Data,
',', Size);
57 size_t ToEncodingNameLen = Comma1 - Data;
58 char *ToEncodingName =
estrndup((
char *) Data, ToEncodingNameLen);
60 Size -= ToEncodingNameLen + 1;
62 const uint8_t *Comma2 = memchr(Data,
',', Size);
64 efree(ToEncodingName);
68 size_t FromEncodingNameLen = Comma2 - Data;
69 char *FromEncodingName =
estrndup((
char *) Data, FromEncodingNameLen);
71 Size -= FromEncodingNameLen + 1;
77 efree(ToEncodingName);
78 efree(FromEncodingName);
92 size_t bufsize1 = *Data++;
93 size_t bufsize2 = *Data++;
98 unsigned int errors1 = 0, errors2 = 0;
112 bool good = FromEncoding->
check((
unsigned char*)Data, Size);
119 unsigned int errors3 = 0;
124 zend_string_release(Temp);
128 zend_string_release(Result1);
129 zend_string_release(Result2);
130 efree(ToEncodingName);
131 efree(FromEncodingName);
zend_string * convert_encoding(const uint8_t *Data, size_t Size, const mbfl_encoding *FromEncoding, const mbfl_encoding *ToEncoding, size_t BufSize, unsigned int *NumErrors)