summaryrefslogtreecommitdiffstats
path: root/osdep
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2012-12-09 15:05:21 +0100
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2012-12-15 17:38:00 +0100
commitfab9febdc3a863c157a56cc4de2418cbb9665844 (patch)
tree8c442f1f04d67587d91f7f5427d5c90d7a99ff0e /osdep
parentc7bf5111c7db05dc5b1750ff285e343849293dd3 (diff)
downloadmpv-fab9febdc3a863c157a56cc4de2418cbb9665844.tar.bz2
mpv-fab9febdc3a863c157a56cc4de2418cbb9665844.tar.xz
path: add mp_find_config_file and reorganize some of the code
Add `mp_find_config_file` to search different known paths and use that in ass_mp to look for the fontconfig configuration file. Some incidental changes spawned by this feature where: * Buffer allocation for the strings containing the paths is now performed with talloc. All of the allocations are done on a NULL context, but it still improves readability of the code. * Move the OSX function for lookup inside of a bundle: this code path was currently not used by the bundle generated with `make osxbundle`. The plan is to use it again in a future commit to get a fontconfig config file.
Diffstat (limited to 'osdep')
-rw-r--r--osdep/macosx_bundle.h26
-rw-r--r--osdep/macosx_bundle.m30
2 files changed, 56 insertions, 0 deletions
diff --git a/osdep/macosx_bundle.h b/osdep/macosx_bundle.h
new file mode 100644
index 0000000000..fbb3383ad5
--- /dev/null
+++ b/osdep/macosx_bundle.h
@@ -0,0 +1,26 @@
+/*
+ * This file is part of mpv.
+ *
+ * mpv is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mpv is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mpv; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef MPV_MACOSX_BUNDLE
+#define MPV_MACOSX_BUNDLE
+
+// Returns absolute path of a resource file in a Mac OS X application bundle.
+char *get_bundled_path(const char *filename);
+
+#endif /* MPV_MACOSX_BUNDLE */
+
diff --git a/osdep/macosx_bundle.m b/osdep/macosx_bundle.m
new file mode 100644
index 0000000000..cef0fc550a
--- /dev/null
+++ b/osdep/macosx_bundle.m
@@ -0,0 +1,30 @@
+/*
+ * This file is part of mpv.
+ *
+ * mpv is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mpv is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mpv; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#import <Foundation/Foundation.h>
+#include "osdep/macosx_bundle.h"
+#include "core/path.h"
+
+char *get_bundled_path(const char *file)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ NSString *path = [[NSBundle mainBundle] resourcePath];
+ char *rv = mp_path_join(NULL, bstr0([path UTF8String]), bstr0(file));
+ [pool release];
+ return rv;
+}