From fab9febdc3a863c157a56cc4de2418cbb9665844 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Sun, 9 Dec 2012 15:05:21 +0100 Subject: 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. --- osdep/macosx_bundle.h | 26 ++++++++++++++++++++++++++ osdep/macosx_bundle.m | 30 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 osdep/macosx_bundle.h create mode 100644 osdep/macosx_bundle.m (limited to 'osdep') 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 +#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; +} -- cgit v1.2.3