summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYuichiro MASUI <[email protected]>2013-01-24 11:21:39 +0900
committerYuichiro MASUI <[email protected]>2013-01-24 11:21:39 +0900
commitb1623b9e58544996b02a8a0050546521d7f738eb (patch)
treebf6859ec1006dd2108efa0c2d285509cd0ec06c7 /src
parenta1c4992905e6e3df1e6841085c552b33cf525b0f (diff)
parent65623d7d66c2ef4e3136ab90077ece988c451750 (diff)
downloadmruby-b1623b9e58544996b02a8a0050546521d7f738eb.tar.gz
mruby-b1623b9e58544996b02a8a0050546521d7f738eb.zip
merge master
Diffstat (limited to 'src')
-rw-r--r--src/init.c9
-rw-r--r--src/init_ext.c16
-rw-r--r--src/load.c2
-rw-r--r--src/state.c5
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);