aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--options.c18
2 files changed, 14 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 488e17b..993b570 100644
--- a/Makefile
+++ b/Makefile
@@ -70,17 +70,19 @@ define CORE_template =
$1_REPO ?= https://github.com/libretro/$(1)/
+$1_MAKE = make $(and $($1_MAKEFILE),-f $($1_MAKEFILE)) platform=$(platform) $(and $(DEBUG),DEBUG=$(DEBUG)) $(and $(PROFILE),PROFILE=$(PROFILE)) $($(1)_FLAGS)
+
$(1):
git clone $(if $($1_REVISION),,--depth 1) $$($(1)_REPO) $(1)
$(if $1_REVISION,cd $(1) && git checkout $($1_REVISION),)
(test ! -d patches/$(1)) || (cd $(1) && $(foreach patch, $(sort $(wildcard patches/$(1)/*.patch)), patch -p1 < ../$(patch) &&) true)
$(1)_libretro.so: $(1)
- cd $(1) && make platform=$(platform) $(if $(DEBUG),DEBUG=$(DEBUG),) $(if $(PROFILE),PROFILE=$(PROFILE),) $($(1)_FLAGS)
+ cd $(1) && $$($1_MAKE)
cp $(1)/$(1)_libretro.so .
clean-$(1):
- test ! -d $(1) || cd $(1) && make platform=$(platform) clean
+ test ! -d $(1) || cd $(1) && $$($1_MAKE) clean
rm -f $(1)_libretro.so
endef
diff --git a/options.c b/options.c
index 2bac4b1..5d1b5d3 100644
--- a/options.c
+++ b/options.c
@@ -105,15 +105,17 @@ void options_init(const struct retro_core_option_definition *defs) {
strncpy(entry->desc, entry->def->desc, len);
truncate(entry->desc, MAX_DESC_LEN);
- len = strlen(entry->def->info) + 1;
- entry->info = (char *)calloc(len, sizeof(char));
- if (!entry->info) {
- PA_ERROR("Error allocating description string\n");
- options_free();
- return;
+ if (entry->def->info) {
+ len = strlen(entry->def->info) + 1;
+ entry->info = (char *)calloc(len, sizeof(char));
+ if (!entry->info) {
+ PA_ERROR("Error allocating description string\n");
+ options_free();
+ return;
+ }
+ strncpy(entry->info, entry->def->info, len);
+ wrap(entry->info, MAX_LINE_LEN, MAX_LINES);
}
- strncpy(entry->info, entry->def->info, len);
- wrap(entry->info, MAX_LINE_LEN, MAX_LINES);
for (j = 0; entry->def->values[j].value; j++)
;