summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/Makefile8
-rw-r--r--mrbgems/generator.c8
2 files changed, 9 insertions, 7 deletions
diff --git a/mrbgems/Makefile b/mrbgems/Makefile
index c9cd7add2..2c0a0962c 100644
--- a/mrbgems/Makefile
+++ b/mrbgems/Makefile
@@ -40,15 +40,15 @@ $(GEM_INIT).a : $(GEM_INIT).o
all_gems : $(GENERATOR_BIN)
@echo "Generate Gem List Makefile"
- $(GENERATOR_BIN) makefile_list "$(ACTIVE_GEMS)" > $(GEM_MAKEFILE_LIST)
+ $(GENERATOR_BIN) makefile_list $(ACTIVE_GEMS) > $(GEM_MAKEFILE_LIST)
@echo "Generate Gem Makefile"
- $(GENERATOR_BIN) makefile "$(ACTIVE_GEMS)" "$(MRUBY_ROOT)" > $(GEM_MAKEFILE)
+ $(GENERATOR_BIN) makefile $(ACTIVE_GEMS) "$(MRUBY_ROOT)" > $(GEM_MAKEFILE)
@echo "Build all gems"
$(MAKE) -C g MRUBY_ROOT='$(MRUBY_ROOT)' ACTIVE_GEMS="$(ACTIVE_GEMS)"
$(GEM_INIT).c : $(GENERATOR_BIN)
@echo "Generate Gem driver"
- $(GENERATOR_BIN) $(GEM_INIT) "$(ACTIVE_GEMS)" > $@
+ $(GENERATOR_BIN) $(GEM_INIT) $(ACTIVE_GEMS) > $@
$(GEM_INIT).o : $(GEM_INIT).c
@echo "Build the driver which initializes all gems"
@@ -71,6 +71,6 @@ prepare-test :
.PHONY : clean
clean : $(GENERATOR_BIN)
@echo "Cleanup Gems"
- $(GENERATOR_BIN) makefile "$(ACTIVE_GEMS)" "$(MRUBY_ROOT)" > $(GEM_MAKEFILE)
+ $(GENERATOR_BIN) makefile $(ACTIVE_GEMS) "$(MRUBY_ROOT)" > $(GEM_MAKEFILE)
$(MAKE) clean -C g ACTIVE_GEMS="$(ACTIVE_GEMS)" MRUBY_ROOT='$(MRUBY_ROOT)'
-$(RM_F) $(GEM_INIT).c *.o *.d $(GENERATOR_BIN) $(GEM_MAKEFILE) $(GEM_MAKEFILE_LIST) gem_init.a
diff --git a/mrbgems/generator.c b/mrbgems/generator.c
index 108405b24..03c51f036 100644
--- a/mrbgems/generator.c
+++ b/mrbgems/generator.c
@@ -28,7 +28,7 @@ static char
static char
*get_full_path(char *path, char *mruby_root)
{
- char full_path[1024] = { 0 };
+ static char full_path[1024] = { 0 };
if (path[0] == '/') {
/* An absolute UNIX path starts with a slash */
strcpy(full_path, path);
@@ -75,7 +75,7 @@ static char
}
}
- ret = malloc(i + count * (newlen - oldlen));
+ ret = malloc(i + count * (newlen - oldlen) + 1);
if (ret == NULL)
exit(EXIT_FAILURE);
@@ -148,7 +148,7 @@ for_each_gem (char before[1024], char after[1024],
char gem_name[1024] = { 0 };
int char_index;
char gem_list[1024][1024] = { { 0 }, { 0 } };
- int gem_index;
+ int gem_index = 0;
int i;
int skip;
FILE *check;
@@ -184,6 +184,8 @@ for_each_gem (char before[1024], char after[1024],
skip = FALSE;
else
skip = TRUE;
+ if (check)
+ fclose(check);
}
if (skip == FALSE)