77 * (See accompanying file LICENSE_1_0.txt or copy at
88 * http://www.boost.org/LICENSE_1_0.txt)
99 */
10+ #if defined(_KERNEL_MODE )
11+ # undef _NO_CRT_STDIO_INLINE
12+ # define _NO_CRT_STDIO_INLINE
13+ #endif
14+
1015#include "msgpack/object.h"
1116#include "msgpack/pack.h"
1217#include <ctype.h>
18+
1319#include <stdio.h>
1420#include <string.h>
1521
2531#include <inttypes.h>
2632#endif
2733
34+ #if defined(_KERNEL_MODE )
35+ # undef snprintf
36+ # define snprintf _snprintf
37+ #endif
2838
2939int msgpack_pack_object (msgpack_packer * pk , msgpack_object d )
3040{
@@ -115,6 +125,7 @@ int msgpack_pack_object(msgpack_packer* pk, msgpack_object d)
115125 }
116126}
117127
128+ #if !defined(_KERNEL_MODE )
118129
119130static void msgpack_object_bin_print (FILE * out , const char * ptr , size_t size )
120131{
@@ -130,35 +141,6 @@ static void msgpack_object_bin_print(FILE* out, const char *ptr, size_t size)
130141 }
131142}
132143
133- static int msgpack_object_bin_print_buffer (char * buffer , size_t buffer_size , const char * ptr , size_t size )
134- {
135- size_t i ;
136- char * aux_buffer = buffer ;
137- size_t aux_buffer_size = buffer_size ;
138- int ret ;
139-
140- for (i = 0 ; i < size ; ++ i ) {
141- if (ptr [i ] == '"' ) {
142- ret = snprintf (aux_buffer , aux_buffer_size , "\\\"" );
143- aux_buffer = aux_buffer + ret ;
144- aux_buffer_size = aux_buffer_size - ret ;
145- } else if (isprint ((unsigned char )ptr [i ])) {
146- if (aux_buffer_size > 0 ) {
147- memcpy (aux_buffer , ptr + i , 1 );
148- aux_buffer = aux_buffer + 1 ;
149- aux_buffer_size = aux_buffer_size - 1 ;
150- }
151- } else {
152- ret = snprintf (aux_buffer , aux_buffer_size , "\\x%02x" , (unsigned char )ptr [i ]);
153- aux_buffer = aux_buffer + ret ;
154- aux_buffer_size = aux_buffer_size - ret ;
155- }
156- }
157-
158- return buffer_size - aux_buffer_size ;
159- }
160-
161-
162144void msgpack_object_print (FILE * out , msgpack_object o )
163145{
164146 switch (o .type ) {
@@ -270,6 +252,36 @@ void msgpack_object_print(FILE* out, msgpack_object o)
270252 }
271253}
272254
255+ #endif
256+
257+ static int msgpack_object_bin_print_buffer (char * buffer , size_t buffer_size , const char * ptr , size_t size )
258+ {
259+ size_t i ;
260+ char * aux_buffer = buffer ;
261+ size_t aux_buffer_size = buffer_size ;
262+ int ret ;
263+
264+ for (i = 0 ; i < size ; ++ i ) {
265+ if (ptr [i ] == '"' ) {
266+ ret = snprintf (aux_buffer , aux_buffer_size , "\\\"" );
267+ aux_buffer = aux_buffer + ret ;
268+ aux_buffer_size = aux_buffer_size - ret ;
269+ } else if (isprint ((unsigned char )ptr [i ])) {
270+ if (aux_buffer_size > 0 ) {
271+ memcpy (aux_buffer , ptr + i , 1 );
272+ aux_buffer = aux_buffer + 1 ;
273+ aux_buffer_size = aux_buffer_size - 1 ;
274+ }
275+ } else {
276+ ret = snprintf (aux_buffer , aux_buffer_size , "\\x%02x" , (unsigned char )ptr [i ]);
277+ aux_buffer = aux_buffer + ret ;
278+ aux_buffer_size = aux_buffer_size - ret ;
279+ }
280+ }
281+
282+ return (int )(buffer_size - aux_buffer_size );
283+ }
284+
273285int msgpack_object_print_buffer (char * buffer , size_t buffer_size , msgpack_object o )
274286{
275287 char * aux_buffer = buffer ;
@@ -465,7 +477,7 @@ int msgpack_object_print_buffer(char *buffer, size_t buffer_size, msgpack_object
465477#endif
466478 }
467479
468- return buffer_size - aux_buffer_size ;
480+ return ( int )( buffer_size - aux_buffer_size ) ;
469481}
470482
471483
0 commit comments