@@ -32,15 +32,15 @@ typedef struct mrc_string {
32
32
static mrc_string *
33
33
mrc_str_new_capa (mrc_ccontext * c , size_t capa )
34
34
{
35
- mrc_string * s = (mrc_string * )mrc_malloc (sizeof (mrc_string ));
35
+ mrc_string * s = (mrc_string * )mrc_malloc (c , sizeof (mrc_string ));
36
36
if (s ) {
37
- s -> ptr = (char * )mrc_calloc (1 , capa );
37
+ s -> ptr = (char * )mrc_calloc (c , 1 , capa );
38
38
if (s -> ptr ) {
39
39
s -> len = 0 ;
40
40
s -> capa = capa ;
41
41
return s ;
42
42
}
43
- mrc_free (s );
43
+ mrc_free (c , s );
44
44
}
45
45
return NULL ;
46
46
}
@@ -64,42 +64,42 @@ mrc_str_new_cstr(mrc_ccontext *c, const char *cstr)
64
64
}
65
65
66
66
static void
67
- mrc_str_cat_lit (mrc_string * s , const char * lit )
67
+ mrc_str_cat_lit (mrc_ccontext * c , mrc_string * s , const char * lit )
68
68
{
69
69
size_t len = strlen (lit );
70
70
if (s -> len + len + 1 > s -> capa ) {
71
71
s -> capa = s -> len + len + 1 ;
72
- s -> ptr = (char * )mrc_realloc (s -> ptr , s -> capa );
72
+ s -> ptr = (char * )mrc_realloc (c , s -> ptr , s -> capa );
73
73
}
74
74
memcpy (s -> ptr + s -> len , lit , len );
75
75
s -> len += len ;
76
76
s -> ptr [s -> len ] = '\0' ;
77
77
}
78
78
79
79
static void
80
- mrc_str_cat_cstr (mrc_string * s , const char * cstr )
80
+ mrc_str_cat_cstr (mrc_ccontext * c , mrc_string * s , const char * cstr )
81
81
{
82
82
if (!cstr ) return ;
83
- mrc_str_cat_lit (s , cstr );
83
+ mrc_str_cat_lit (c , s , cstr );
84
84
}
85
85
86
86
static void
87
- mrc_str_cat_str (mrc_string * s , mrc_string * s2 )
87
+ mrc_str_cat_str (mrc_ccontext * c , mrc_string * s , mrc_string * s2 )
88
88
{
89
89
if (s -> len + s2 -> len + 1 > s -> capa ) {
90
90
s -> capa = s -> len + s2 -> len + 1 ;
91
- s -> ptr = (char * )mrc_realloc (s -> ptr , s -> capa );
91
+ s -> ptr = (char * )mrc_realloc (c , s -> ptr , s -> capa );
92
92
}
93
93
memcpy (s -> ptr + s -> len , s2 -> ptr , s2 -> len );
94
94
s -> len += s2 -> len ;
95
95
s -> ptr [s -> len ] = '\0' ;
96
96
}
97
97
98
98
static void
99
- mrc_str_free (mrc_string * s )
99
+ mrc_str_free (mrc_ccontext * c , mrc_string * s )
100
100
{
101
- mrc_free (s -> ptr );
102
- mrc_free (s );
101
+ mrc_free (c , s -> ptr );
102
+ mrc_free (c , s );
103
103
}
104
104
105
105
static mrc_string *
@@ -108,11 +108,11 @@ mrc_str_escape(mrc_ccontext *c, mrc_string *s)
108
108
mrc_string * s2 = mrc_str_new_capa (c , s -> len * 2 + 1 );
109
109
if (s2 ) {
110
110
for (size_t i = 0 ; i < s -> len ; i ++ ) {
111
- char c = s -> ptr [i ];
112
- if (c == '"' || c == '\\' ) {
113
- mrc_str_cat_lit (s2 , "\\" );
111
+ char ch = s -> ptr [i ];
112
+ if (ch == '"' || ch == '\\' ) {
113
+ mrc_str_cat_lit (c , s2 , "\\" );
114
114
}
115
- mrc_str_cat_lit (s2 , & c );
115
+ mrc_str_cat_lit (c , s2 , & ch );
116
116
}
117
117
}
118
118
return s2 ;
@@ -276,11 +276,11 @@ sym_var_name_str(mrc_ccontext *c, const char *initname, const char *key, int n)
276
276
{
277
277
char buf [32 ];
278
278
mrc_string * s = mrc_str_new_cstr (c , initname );
279
- mrc_str_cat_lit (s , "_" );
280
- mrc_str_cat_cstr (s , key );
281
- mrc_str_cat_lit (s , "_" );
279
+ mrc_str_cat_lit (c , s , "_" );
280
+ mrc_str_cat_cstr (c , s , key );
281
+ mrc_str_cat_lit (c , s , "_" );
282
282
snprintf (buf , sizeof (buf ), "%d" , n );
283
- mrc_str_cat_cstr (s , buf );
283
+ mrc_str_cat_cstr (c , s , buf );
284
284
return s ;
285
285
}
286
286
@@ -299,7 +299,7 @@ cdump_sym(mrc_ccontext *c, mrc_sym sym, const char *var_name, int idx, mrc_strin
299
299
mrc_int len = constant -> length ;
300
300
301
301
if (* name == '\0' ) {
302
- mrc_str_free (name_obj );
302
+ mrc_str_free (c , name_obj );
303
303
return MRC_DUMP_INVALID_ARGUMENT ;
304
304
}
305
305
if (sym_name_word_p (name , len )) {
@@ -326,39 +326,39 @@ cdump_sym(mrc_ccontext *c, mrc_sym sym, const char *var_name, int idx, mrc_strin
326
326
else {
327
327
char buf [32 ];
328
328
mrc_string * name_obj = mrc_str_new (c , name , len );
329
- mrc_str_cat_lit (init_syms_code , " " );
330
- mrc_str_cat_cstr (init_syms_code , var_name );
329
+ mrc_str_cat_lit (c , init_syms_code , " " );
330
+ mrc_str_cat_cstr (c , init_syms_code , var_name );
331
331
snprintf (buf , sizeof (buf ), "[%d] = " , idx );
332
- mrc_str_cat_cstr (init_syms_code , buf );
333
- mrc_str_cat_lit (init_syms_code , "mrb_intern_lit(mrb, " );
332
+ mrc_str_cat_cstr (c , init_syms_code , buf );
333
+ mrc_str_cat_lit (c , init_syms_code , "mrb_intern_lit(mrb, " );
334
334
mrc_string * escaped = mrc_str_escape (c , name_obj );
335
- mrc_str_free (name_obj );
336
- mrc_str_cat_str (init_syms_code , escaped );
337
- mrc_str_free (escaped );
338
- mrc_str_cat_lit (init_syms_code , ");\n" );
335
+ mrc_str_free (c , name_obj );
336
+ mrc_str_cat_str (c , init_syms_code , escaped );
337
+ mrc_str_free (c , escaped );
338
+ mrc_str_cat_lit (c , init_syms_code , ");\n" );
339
339
fputs ("0" , fp );
340
340
}
341
341
fputs (", " , fp );
342
- mrc_str_free (name_obj );
342
+ mrc_str_free (c , name_obj );
343
343
return MRC_DUMP_OK ;
344
344
}
345
345
346
346
static int
347
347
cdump_syms (mrc_ccontext * c , const char * name , const char * key , int n , int syms_len , const mrc_sym * syms , mrc_string * init_syms_code , FILE * fp )
348
348
{
349
- int ai = mrc_gc_arena_save (c -> mrb );
349
+ int ai = mrc_gc_arena_save (c );
350
350
mrc_int code_len = MRC_STRING_LEN (init_syms_code );
351
351
mrc_string * var_name = sym_var_name_str (c , name , key , n );
352
352
353
353
fprintf (fp , "mrb_DEFINE_SYMS_VAR(%s, %d, (" , MRC_STRING_PTR (var_name ), syms_len );
354
354
for (int i = 0 ; i < syms_len ; i ++ ) {
355
355
cdump_sym (c , syms [i ], MRC_STRING_PTR (var_name ), i , init_syms_code , fp );
356
356
}
357
- mrc_str_free (var_name );
357
+ mrc_str_free (c , var_name );
358
358
fputs ("), " , fp );
359
359
if (code_len == MRC_STRING_LEN (init_syms_code )) fputs ("const" , fp );
360
360
fputs (");\n" , fp );
361
- mrc_gc_arena_restore (c -> mrb , ai );
361
+ mrc_gc_arena_restore (c , ai );
362
362
return MRC_DUMP_OK ;
363
363
}
364
364
@@ -380,7 +380,7 @@ static int
380
380
cdump_debug (mrc_ccontext * c , const char * name , int n , mrc_irep_debug_info * info ,
381
381
mrc_string * init_syms_code , FILE * fp )
382
382
{
383
- int ai = mrc_gc_arena_save (c -> mrb );
383
+ int ai = mrc_gc_arena_save (c );
384
384
char buffer [256 ];
385
385
const char * line_type = "mrb_debug_line_ary" ;
386
386
@@ -392,13 +392,13 @@ cdump_debug(mrc_ccontext *c, const char *name, int n, mrc_irep_debug_info *info,
392
392
const pm_constant_t * fn_constant = pm_constant_pool_id_to_constant (& c -> p -> constant_pool , info -> files [0 ]-> filename_sym );
393
393
const char * filename = (const char * )fn_constant -> start ;
394
394
snprintf (buffer , sizeof (buffer ), " %s_debug_file_%d.filename_sym = mrb_intern_lit(mrb," , name , n );
395
- mrc_str_cat_cstr (init_syms_code , buffer );
395
+ mrc_str_cat_cstr (c , init_syms_code , buffer );
396
396
mrc_string * filename_str = mrc_str_new_cstr (c , filename );
397
397
mrc_string * escaped = mrc_str_escape (c , filename_str );
398
- mrc_str_free (filename_str );
399
- mrc_str_cat_str (init_syms_code , escaped );
400
- mrc_str_free (escaped );
401
- mrc_str_cat_cstr (init_syms_code , ");\n" );
398
+ mrc_str_free (c , filename_str );
399
+ mrc_str_cat_str (c , init_syms_code , escaped );
400
+ mrc_str_free (c , escaped );
401
+ mrc_str_cat_cstr (c , init_syms_code , ");\n" );
402
402
403
403
switch (info -> files [0 ]-> line_type ) {
404
404
case mrc_debug_line_ary :
@@ -442,7 +442,7 @@ cdump_debug(mrc_ccontext *c, const char *name, int n, mrc_irep_debug_info *info,
442
442
fprintf (fp , "static mrb_irep_debug_info %s_debug_%d = {\n" , name , n );
443
443
fprintf (fp , "%d, %d, &%s_debug_file_%d_};\n" , info -> pc_count , info -> flen , name , n );
444
444
445
- mrc_gc_arena_restore (c -> mrb , ai );
445
+ mrc_gc_arena_restore (c , ai );
446
446
return MRC_DUMP_OK ;
447
447
}
448
448
@@ -575,7 +575,7 @@ mrc_dump_irep_cstruct(mrc_ccontext *c, const mrc_irep *irep, uint8_t flags, FILE
575
575
fputs ("{\n" , fp );
576
576
fputs (MRC_STRING_PTR (init_syms_code ), fp );
577
577
fputs ("}\n" , fp );
578
- mrc_str_free (init_syms_code );
578
+ mrc_str_free (c , init_syms_code );
579
579
return MRC_DUMP_OK ;
580
580
}
581
581
#endif /* MRC_NO_STDIO */
0 commit comments