1818 * limitations under the License.
1919 */
2020
21- #include <fluent-bit/flb_encode.h>
21+ #include <fluent-bit/flb_encoder.h>
22+ #include <fluent-bit/flb_log.h>
2223#include <fluent-bit/flb_mem.h>
2324
24- #ifdef FLB_HAVE_ENCODE
25+ #ifdef FLB_HAVE_UTF8_ENCODER
2526#include <tutf8e.h>
2627
2728#define TUTF8_BUFFER_SIZE 256
@@ -31,35 +32,42 @@ flb_encoder flb_get_encoder(const char *encoding)
3132 return tutf8e_encoder (encoding );
3233}
3334
34- void flb_msgpack_encode_utf8 (flb_encoder enc , msgpack_packer * pk , const void * b , size_t l )
35+ void flb_msgpack_encode_utf8 (flb_encoder encoder , const char * module , msgpack_packer * pk , const void * b , size_t l )
3536{
36- if (enc ) {
37+ if (encoder ) {
3738 size_t size = 0 ;
38- if (!tutf8e_encoder_buffer_length (enc , b , l , & size ) && size ) {
39+ if (!tutf8e_encoder_buffer_length (encoder , b , l , & size ) && size ) {
3940 /* Already UTF8 encoded? */
4041 if (size == l ) {
4142 }
4243 /* Small enough for encoding to stack? */
4344 else if (size <=TUTF8_BUFFER_SIZE ) {
4445 char buffer [TUTF8_BUFFER_SIZE ];
45- if (!tutf8e_encoder_buffer_encode (enc , b , l , buffer , & size ) && size ) {
46+ if (!tutf8e_encoder_buffer_encode (encoder , b , l , buffer , & size ) && size ) {
4647 msgpack_pack_str (pk , size );
4748 msgpack_pack_str_body (pk , buffer , size );
4849 return ;
4950 }
51+ /* Not expecting to get here ordinarily */
52+ flb_warn ("[%s] failed to encode to UTF8" , module );
5053 }
5154 /* malloc/free the encoded copy */
5255 else {
5356 char * buffer = (char * ) flb_malloc (size );
54- if (buffer && !tutf8e_encoder_buffer_encode (enc , b , l , buffer , & size ) && size ) {
57+ if (buffer && !tutf8e_encoder_buffer_encode (encoder , b , l , buffer , & size ) && size ) {
5558 msgpack_pack_str (pk , size );
5659 msgpack_pack_str_body (pk , buffer , size );
5760 free (buffer );
5861 return ;
5962 }
63+ /* Not expecting to get here ordinarily */
6064 free (buffer );
65+ flb_warn ("[%s] failed to encode to UTF8" , module );
6166 }
6267 }
68+ else {
69+ flb_warn ("[%s] failed to encode to UTF8" , module );
70+ }
6371 }
6472
6573 /* Could not or need not encode to UTF8 */
0 commit comments