diff options
| author | Yuichiro MASUI <[email protected]> | 2013-01-24 11:21:39 +0900 |
|---|---|---|
| committer | Yuichiro MASUI <[email protected]> | 2013-01-24 11:21:39 +0900 |
| commit | b1623b9e58544996b02a8a0050546521d7f738eb (patch) | |
| tree | bf6859ec1006dd2108efa0c2d285509cd0ec06c7 /src | |
| parent | a1c4992905e6e3df1e6841085c552b33cf525b0f (diff) | |
| parent | 65623d7d66c2ef4e3136ab90077ece988c451750 (diff) | |
| download | mruby-b1623b9e58544996b02a8a0050546521d7f738eb.tar.gz mruby-b1623b9e58544996b02a8a0050546521d7f738eb.zip | |
merge master
Diffstat (limited to 'src')
| -rw-r--r-- | src/init.c | 9 | ||||
| -rw-r--r-- | src/init_ext.c | 16 | ||||
| -rw-r--r-- | src/load.c | 2 | ||||
| -rw-r--r-- | src/state.c | 5 |
4 files changed, 13 insertions, 19 deletions
diff --git a/src/init.c b/src/init.c index 48008b150..73ff8fce2 100644 --- a/src/init.c +++ b/src/init.c @@ -28,6 +28,7 @@ void mrb_init_time(mrb_state*); void mrb_init_math(mrb_state*); void mrb_init_mrblib(mrb_state*); void mrb_init_mrbgems(mrb_state*); +void mrb_final_mrbgems(mrb_state*); #define DONE mrb_gc_arena_restore(mrb, 0); void @@ -70,3 +71,11 @@ mrb_init_core(mrb_state *mrb) mrb_init_mrbgems(mrb); DONE; #endif } + +void +mrb_final_core(mrb_state *mrb) +{ +#ifndef DISABLE_GEMS + mrb_final_mrbgems(mrb); DONE; +#endif +}
\ No newline at end of file diff --git a/src/init_ext.c b/src/init_ext.c deleted file mode 100644 index 96ee34da1..000000000 --- a/src/init_ext.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -** init_ext.c - initialize extend libraries -** -** See Copyright Notice in mruby.h -*/ - -#include "mruby.h" - -void -mrb_init_ext(mrb_state *mrb) -{ -#ifdef INCLUDE_SOCKET - extern void mrb_init_socket(mrb_state *mrb); - mrb_init_socket(mrb); -#endif -} diff --git a/src/load.c b/src/load.c index 504246799..78ece114f 100644 --- a/src/load.c +++ b/src/load.c @@ -138,7 +138,7 @@ load_rite_irep_record(mrb_state *mrb, RiteFILE* rfp, unsigned char* dst, uint32_ int i; uint32_t blocklen; uint16_t offset, pdl, snl, clen; - unsigned char hex2[2], hex4[4], hex8[8], hcrc[4]; + unsigned char hex2[2] = {0}, hex4[4] = {0}, hex8[8] = {0}, hcrc[4] = {0}; unsigned char *pStart; char *char_buf; uint16_t buf_size =0; diff --git a/src/state.c b/src/state.c index c1ad4c6ad..e30b0cea3 100644 --- a/src/state.c +++ b/src/state.c @@ -11,7 +11,7 @@ void mrb_init_heap(mrb_state*); void mrb_init_core(mrb_state*); -void mrb_init_ext(mrb_state*); +void mrb_final_core(mrb_state*); mrb_state* mrb_open_allocf(mrb_allocf f, void *ud) @@ -27,7 +27,6 @@ mrb_open_allocf(mrb_allocf f, void *ud) mrb_init_heap(mrb); mrb_init_core(mrb); - mrb_init_ext(mrb); return mrb; } @@ -88,6 +87,8 @@ mrb_close(mrb_state *mrb) { int i; + mrb_final_core(mrb); + /* free */ mrb_gc_free_gv(mrb); mrb_free(mrb, mrb->stbase); |
