summaryrefslogtreecommitdiffstats
path: root/osdep
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-06-26 19:32:53 +0200
committerwm4 <wm4@nowhere>2014-06-26 19:56:45 +0200
commit3e631b9cb851a1c29880beaded78f2bbfa694976 (patch)
treee31e70674a3ce1955addaf08a10179fde04aecd3 /osdep
parent7f55a39646af1696444be2a04dc0d212db3f7013 (diff)
downloadmpv-3e631b9cb851a1c29880beaded78f2bbfa694976.tar.bz2
mpv-3e631b9cb851a1c29880beaded78f2bbfa694976.tar.xz
config: use the same signature for win32/OSX specific path functions
Seems like a good idea, even if it's basically unused (yet). Also document requirements on the functions (they're not obvious). OSX changes untested.
Diffstat (limited to 'osdep')
-rw-r--r--osdep/path-macosx.m7
-rw-r--r--osdep/path-win.c3
-rw-r--r--osdep/path.h10
3 files changed, 12 insertions, 8 deletions
diff --git a/osdep/path-macosx.m b/osdep/path-macosx.m
index 83fb113e8d..33086c3ea4 100644
--- a/osdep/path-macosx.m
+++ b/osdep/path-macosx.m
@@ -20,11 +20,12 @@
#include "options/path.h"
#include "osdep/path.h"
-char *mp_get_macosx_bundle_dir(void *talloc_ctx)
+int mp_add_macosx_bundle_dir(struct mpv_global *global, char **dirs, int i)
{
+ void *talloc_ctx = dirs;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *path = [[NSBundle mainBundle] resourcePath];
- char *rv = talloc_strdup(talloc_ctx, [path UTF8String]);
+ dirs[i++] = talloc_strdup(talloc_ctx, [path UTF8String]);
[pool release];
- return rv;
+ return i;
}
diff --git a/osdep/path-win.c b/osdep/path-win.c
index eb88a9cfc4..c6560233f5 100644
--- a/osdep/path-win.c
+++ b/osdep/path-win.c
@@ -58,7 +58,7 @@ static char *mp_get_win_app_dir(void *talloc_ctx)
return talloc_asprintf(talloc_ctx, "%s/mpv", mp_to_utf8(talloc_ctx, w_appdir));
}
-void mp_add_win_config_dirs(struct mpv_global *global, char **dirs, int i)
+int mp_add_win_config_dirs(struct mpv_global *global, char **dirs, int i)
{
void *talloc_ctx = dirs;
if ((dirs[i] = mp_get_win_exe_subdir(talloc_ctx)))
@@ -67,4 +67,5 @@ void mp_add_win_config_dirs(struct mpv_global *global, char **dirs, int i)
i++;
if ((dirs[i] = mp_get_win_app_dir(talloc_ctx)))
i++;
+ return i;
}
diff --git a/osdep/path.h b/osdep/path.h
index c09bedceb0..c697453fcc 100644
--- a/osdep/path.h
+++ b/osdep/path.h
@@ -5,9 +5,11 @@
struct mpv_global;
-void mp_add_win_config_dirs(struct mpv_global *global, char **dirs, int i);
-
-// Returns Mac OS X application bundle directory.
-char *mp_get_macosx_bundle_dir(void *talloc_ctx);
+// Append paths starting at dirs[i]. The dirs array has place only for at most
+// MAX_CONFIG_PATHS paths, but it's guaranteed that at least 4 paths can be
+// added without checking for i>=MAX_CONFIG_PATHS.
+// Return the new value of i.
+int mp_add_win_config_dirs(struct mpv_global *global, char **dirs, int i);
+int mp_add_macosx_bundle_dir(struct mpv_global *global, char **dirs, int i);
#endif