@@ -42,7 +42,8 @@ void jim_null(Jim *jim);
42
42
void jim_bool (Jim * jim , int boolean );
43
43
void jim_integer (Jim * jim , long long int x );
44
44
void jim_float (Jim * jim , double x , int precision );
45
- void jim_string (Jim * jim , const char * str , const unsigned int * size );
45
+ void jim_string (Jim * jim , const char * str );
46
+ void jim_string_sized (Jim * jim , const char * str , size_t size );
46
47
47
48
void jim_element_begin (Jim * jim );
48
49
void jim_element_end (Jim * jim );
@@ -51,7 +52,8 @@ void jim_array_begin(Jim *jim);
51
52
void jim_array_end (Jim * jim );
52
53
53
54
void jim_object_begin (Jim * jim );
54
- void jim_member_key (Jim * jim , const char * str , const unsigned int * size );
55
+ void jim_member_key (Jim * jim , const char * str );
56
+ void jim_member_key_sized (Jim * jim , const char * str , size_t size );
55
57
void jim_object_end (Jim * jim );
56
58
57
59
#endif // JIM_H_
@@ -268,13 +270,13 @@ void jim_float(Jim *jim, double x, int precision)
268
270
}
269
271
}
270
272
271
- static void jim_string_no_element (Jim * jim , const char * str , const unsigned int * size )
273
+ static void jim_string_sized_no_element (Jim * jim , const char * str , size_t size )
272
274
{
273
275
if (jim -> error == JIM_OK ) {
274
276
const char * hex_digits = "0123456789abcdef" ;
275
277
const char * specials = "btnvfr" ;
276
278
const char * p = str ;
277
- size_t len = size ? * size : jim_strlen ( str ) ;
279
+ size_t len = size ;
278
280
279
281
jim_write_cstr (jim , "\"" );
280
282
size_t cl ;
@@ -302,15 +304,22 @@ static void jim_string_no_element(Jim *jim, const char *str, const unsigned int
302
304
}
303
305
}
304
306
305
- void jim_string (Jim * jim , const char * str , const unsigned int * size )
307
+ void jim_string_sized (Jim * jim , const char * str , size_t size )
306
308
{
307
309
if (jim -> error == JIM_OK ) {
308
310
jim_element_begin (jim );
309
- jim_string_no_element (jim , str , size );
311
+ jim_string_sized_no_element (jim , str , size );
310
312
jim_element_end (jim );
311
313
}
312
314
}
313
315
316
+ void jim_string (Jim * jim , const char * str )
317
+ {
318
+ if (jim -> error == JIM_OK ) {
319
+ jim_string_sized (jim , str , jim_strlen (str ));
320
+ }
321
+ }
322
+
314
323
void jim_array_begin (Jim * jim )
315
324
{
316
325
if (jim -> error == JIM_OK ) {
@@ -339,14 +348,21 @@ void jim_object_begin(Jim *jim)
339
348
}
340
349
}
341
350
342
- void jim_member_key (Jim * jim , const char * str , const unsigned int * size )
351
+ void jim_member_key (Jim * jim , const char * str )
352
+ {
353
+ if (jim -> error == JIM_OK ) {
354
+ jim_member_key_sized (jim , str , jim_strlen (str ));
355
+ }
356
+ }
357
+
358
+ void jim_member_key_sized (Jim * jim , const char * str , size_t size )
343
359
{
344
360
if (jim -> error == JIM_OK ) {
345
361
jim_element_begin (jim );
346
362
Jim_Scope * scope = jim_current_scope (jim );
347
363
if (scope && scope -> kind == JIM_OBJECT_SCOPE ) {
348
364
if (!scope -> key ) {
349
- jim_string_no_element (jim , str , size );
365
+ jim_string_sized_no_element (jim , str , size );
350
366
jim_write_cstr (jim , ":" );
351
367
scope -> key = 1 ;
352
368
} else {
0 commit comments