summaryrefslogtreecommitdiff
path: root/cmdutils.c
diff options
context:
space:
mode:
authorGianluigi Tiesi <mplayer@netfarm.it>2011-05-21 03:36:26 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-05-21 03:36:26 +0200
commit1b30e4f5865260323da5232174fc68d6cc283f45 (patch)
treed06e091485de0c4b478d3703e2abf9c26ceafa36 /cmdutils.c
parent0424e052f83adc422d8a746e3cdc5ab6bc28679e (diff)
preset dir for win32
Diffstat (limited to 'cmdutils.c')
-rw-r--r--cmdutils.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/cmdutils.c b/cmdutils.c
index 5a0c8f378f..8265fbcd0f 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -849,6 +849,23 @@ FILE *get_preset_file(char *filename, size_t filename_size,
av_strlcpy(filename, preset_name, filename_size);
f = fopen(filename, "r");
} else {
+#ifdef _WIN32
+ char datadir[MAX_PATH], *ls;
+ base[2] = NULL;
+
+ if (GetModuleFileNameA(GetModuleHandleA(NULL), datadir, sizeof(datadir) - 1))
+ {
+ for (ls = datadir; ls < datadir + strlen(datadir); ls++)
+ if (*ls == '\\') *ls = '/';
+
+ if (ls = strrchr(datadir, '/'))
+ {
+ *ls = 0;
+ strncat(datadir, "/ffpresets", sizeof(datadir) - 1 - strlen(datadir));
+ base[2] = datadir;
+ }
+ }
+#endif
for (i = 0; i < 3 && !f; i++) {
if (!base[i])
continue;