diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/SDL2.c | 9 | ||||
-rw-r--r-- | src/common/common.c | 2 | ||||
-rw-r--r-- | src/portaudio.c | 5 |
3 files changed, 11 insertions, 5 deletions
diff --git a/src/SDL2.c b/src/SDL2.c index 79b4e4a..04f9f08 100644 --- a/src/SDL2.c +++ b/src/SDL2.c @@ -85,7 +85,10 @@ int main(int argc, char **argv) { perror(argv[1]); goto arg_load_done; } - module_func(&file, &userdata); + if (module_func(&file, &userdata)) { + eprintf("%s: failed to load\n", argv[1]); + userdata.callback = NULL; + } } arg_load_done: @@ -133,9 +136,8 @@ int main(int argc, char **argv) { free(file.data); break; } - SDL_free(evt.drop.file); if (module_func(&file, &newuser)) { - // error + eprintf("%s: failed to load\n", evt.drop.file); } else { SDL_LockAudioDevice(audio); if (userdata.freefunc != NULL) { @@ -145,6 +147,7 @@ int main(int argc, char **argv) { SDL_UnlockAudioDevice(audio); } free(file.data); + SDL_free(evt.drop.file); break; default: diff --git a/src/common/common.c b/src/common/common.c index 5ce79ad..a944f8f 100644 --- a/src/common/common.c +++ b/src/common/common.c @@ -8,7 +8,7 @@ int (*file_ext(char *file))(struct blob *, struct userdata *) { size_t len = strlen(file); #define ext(extension) memcmp(file + len - sizeof (extension) + 1, extension, sizeof (extension)) - if ((ext(".mptm") && ext(".mod") && ext(".MOD") && ext(".xm") && ext(".s3m") && ext(".it")) == 0) { + if ((ext(".mptm") && ext(".mod") && ext(".MOD") && ext(".xm") && ext(".s3m") && ext(".it") && ext(".oxm") && ext(".mo3")) == 0) { return module_openmpt; } else if ((ext(".mid") && ext(".MID") && ext(".midi")) == 0) { return module_fluidsynth; diff --git a/src/portaudio.c b/src/portaudio.c index e8e9839..7ff6ca3 100644 --- a/src/portaudio.c +++ b/src/portaudio.c @@ -51,7 +51,10 @@ int main(int argc, char **argv) { perror(argv[1]); return EXIT_FAILURE; } - module_func(&file, &userdata); + if (module_func(&file, &userdata)) { + eprintf("%s: failed to load\n", argv[1]); + return EXIT_FAILURE; + } } signal(SIGINT, sigint_handler); // signal(3) claims this method is deprecated, but.. |