diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 21 |
1 files changed, 17 insertions, 4 deletions
@@ -1,15 +1,28 @@ +#include <libgen.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include "game.h" int main(int argc, char *argv[]) { - char **games; - int n; - int i; + char *program_dir; + const char *games_dir; + char **games; + int n; + int i; - n = db_games_find(&games); + program_dir = realpath(dirname(argv[0]), NULL); + if (strcmp(program_dir, ABS_BUILDDIR) == 0) { + /* Running in place */ + games_dir = ABS_BUILDDIR "/games"; + } else { + /* Running from installation */ + games_dir = GAMESDIR; + } + free(program_dir); + n = db_games_find(games_dir, &games); printf("%d games:\n", n); for (i = 0; i < n; ++i) { printf("\t%s\n", games[i]); |