annotate get_path.c @ 26110:69790f7caffa

configure: Set CONFIG_ENCODERS=yes in config.mak unconditionally config.h already had "#define CONFIG_ENCODERS 1" unconditionally, but the config.mak value depended on whether MEncoder was enabled. Encoders need to be enabled as some encoder code is used by MPlayer too. The inconsistent values broke compilation with --disable-mencoder after libavcodec Makefile made compilation of i386/dsputilenc_mmx.o depend on the config.mak value.
author uau
date Mon, 03 Mar 2008 03:02:36 +0000
parents 5ce6348b1a6e
children 3a1a148a9633
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12891
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
1 /*
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
2 * Get path to config dir/file.
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
3 *
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
4 * Return Values:
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
5 * Returns the pointer to the ALLOCATED buffer containing the
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
6 * zero terminated path string. This buffer has to be FREED
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
7 * by the caller.
54ea3d6e657c added src level documentation for the get_path() function
al
parents: 12358
diff changeset
8 */
24242
76f5d8892c04 Clean up the way get_path is handled: Compile get_path.c to an object to link
diego
parents: 23806
diff changeset
9
76f5d8892c04 Clean up the way get_path is handled: Compile get_path.c to an object to link
diego
parents: 23806
diff changeset
10 #include <stdio.h>
76f5d8892c04 Clean up the way get_path is handled: Compile get_path.c to an object to link
diego
parents: 23806
diff changeset
11 #include <stdlib.h>
76f5d8892c04 Clean up the way get_path is handled: Compile get_path.c to an object to link
diego
parents: 23806
diff changeset
12 #include <string.h>
76f5d8892c04 Clean up the way get_path is handled: Compile get_path.c to an object to link
diego
parents: 23806
diff changeset
13 #include "mp_msg.h"
76f5d8892c04 Clean up the way get_path is handled: Compile get_path.c to an object to link
diego
parents: 23806
diff changeset
14
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
15 #ifdef MACOSX_BUNDLE
15237
55d9619d75e5 replace Carbon.h by coreFoundation.h, fix build with x11 enable on mac osx with --enable-macosx-bundle enable
nplourde
parents: 15145
diff changeset
16 #include <CoreFoundation/CoreFoundation.h>
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
17 #include <sys/types.h>
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
18 #include <sys/stat.h>
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
19 #include <unistd.h>
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
20 #endif
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
21
24266
0fad7c7596be Fix linking on Windows.
diego
parents: 24242
diff changeset
22 #ifdef WIN32
0fad7c7596be Fix linking on Windows.
diego
parents: 24242
diff changeset
23 #include <windows.h>
0fad7c7596be Fix linking on Windows.
diego
parents: 24242
diff changeset
24 #endif
0fad7c7596be Fix linking on Windows.
diego
parents: 24242
diff changeset
25
26056
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
26 #ifdef __OS2__
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
27 #define INCL_DOS
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
28 #include <os2.h>
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
29 #endif
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
30
18889
e60c8c7399d2 get_path as const, patch by Stefan Huehner, stefan AT huehner-org
reynaldo
parents: 16872
diff changeset
31 char *get_path(const char *filename){
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
32 char *homedir;
6a74454ea121 some cleanup
arpi
parents:
diff changeset
33 char *buff;
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
34 #ifdef __MINGW32__
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
35 static char *config_dir = "/mplayer";
9926
ad429d617df4 allow config file loading outside of cygwin environment
faust3
parents: 3746
diff changeset
36 #else
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
37 static char *config_dir = "/.mplayer";
9926
ad429d617df4 allow config file loading outside of cygwin environment
faust3
parents: 3746
diff changeset
38 #endif
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
39 int len;
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
40 #ifdef MACOSX_BUNDLE
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
41 struct stat dummy;
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
42 CFIndex maxlen=256;
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
43 CFURLRef res_url_ref=NULL;
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
44 CFURLRef bdl_url_ref=NULL;
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
45 char *res_url_path = NULL;
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
46 char *bdl_url_path = NULL;
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
47 #endif
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
48
16872
9d4becb83656 Allow the user to set the $MPLAYER_HOME environment variable to point to the location
albeu
parents: 16781
diff changeset
49 if ((homedir = getenv("MPLAYER_HOME")) != NULL)
9d4becb83656 Allow the user to set the $MPLAYER_HOME environment variable to point to the location
albeu
parents: 16781
diff changeset
50 config_dir = "";
9d4becb83656 Allow the user to set the $MPLAYER_HOME environment variable to point to the location
albeu
parents: 16781
diff changeset
51 else if ((homedir = getenv("HOME")) == NULL)
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
52 #if defined(__MINGW32__) || defined(__CYGWIN__)
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
53 /* Hack to get fonts etc. loaded outside of Cygwin environment. */
9926
ad429d617df4 allow config file loading outside of cygwin environment
faust3
parents: 3746
diff changeset
54 {
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
55 int i,imax=0;
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
56 char exedir[260];
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
57 GetModuleFileNameA(NULL, exedir, 260);
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
58 for (i=0; i< strlen(exedir); i++)
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
59 if (exedir[i] =='\\')
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
60 {exedir[i]='/'; imax=i;}
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
61 exedir[imax]='\0';
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
62 homedir = exedir;
9926
ad429d617df4 allow config file loading outside of cygwin environment
faust3
parents: 3746
diff changeset
63 }
26056
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
64 #elif defined(__OS2__)
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
65 {
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
66 PPIB ppib;
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
67 char path[260];
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
68
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
69 // Get process info blocks
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
70 DosGetInfoBlocks(NULL, &ppib);
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
71
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
72 // Get full path of the executable
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
73 DosQueryModuleName(ppib->pib_hmte, sizeof( path ), path);
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
74
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
75 // Truncate name part including last backslash
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
76 *strrchr(path, '\\') = 0;
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
77
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
78 // Convert backslash to slash
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
79 _fnslashify(path);
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
80
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
81 homedir = path;
5ce6348b1a6e On OS/2, fall back on the directory where MPlayer is installed if both
diego
parents: 24267
diff changeset
82 }
9926
ad429d617df4 allow config file loading outside of cygwin environment
faust3
parents: 3746
diff changeset
83 #else
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
84 return NULL;
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
85 #endif
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
86 len = strlen(homedir) + strlen(config_dir) + 1;
6a74454ea121 some cleanup
arpi
parents:
diff changeset
87 if (filename == NULL) {
23806
0a38ad149c5c Remove some more useless *alloc casts
reimar
parents: 18889
diff changeset
88 if ((buff = malloc(len)) == NULL)
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
89 return NULL;
6a74454ea121 some cleanup
arpi
parents:
diff changeset
90 sprintf(buff, "%s%s", homedir, config_dir);
6a74454ea121 some cleanup
arpi
parents:
diff changeset
91 } else {
6a74454ea121 some cleanup
arpi
parents:
diff changeset
92 len += strlen(filename) + 1;
23806
0a38ad149c5c Remove some more useless *alloc casts
reimar
parents: 18889
diff changeset
93 if ((buff = malloc(len)) == NULL)
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
94 return NULL;
6a74454ea121 some cleanup
arpi
parents:
diff changeset
95 sprintf(buff, "%s%s/%s", homedir, config_dir, filename);
6a74454ea121 some cleanup
arpi
parents:
diff changeset
96 }
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
97
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
98 #ifdef MACOSX_BUNDLE
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
99 if (stat(buff, &dummy)) {
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
100
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
101 res_url_ref=CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle());
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
102 bdl_url_ref=CFBundleCopyBundleURL(CFBundleGetMainBundle());
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
103
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
104 if (res_url_ref&&bdl_url_ref) {
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
105
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
106 res_url_path=malloc(maxlen);
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
107 bdl_url_path=malloc(maxlen);
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
108
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
109 while (!CFURLGetFileSystemRepresentation(res_url_ref, true, res_url_path, maxlen)) {
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
110 maxlen*=2;
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
111 res_url_path=realloc(res_url_path, maxlen);
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
112 }
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
113 CFRelease(res_url_ref);
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
114
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
115 while (!CFURLGetFileSystemRepresentation(bdl_url_ref, true, bdl_url_path, maxlen)) {
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
116 maxlen*=2;
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
117 bdl_url_path=realloc(bdl_url_path, maxlen);
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
118 }
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
119 CFRelease(bdl_url_ref);
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
120
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
121 if (strcmp(res_url_path, bdl_url_path) == 0)
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
122 res_url_path = NULL;
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
123 }
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
124
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
125 if (res_url_path&&filename) {
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
126 if ((strlen(filename)+strlen(res_url_path)+2)>maxlen) {
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
127 maxlen=strlen(filename)+strlen(res_url_path)+2;
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
128 }
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
129 free(buff);
23806
0a38ad149c5c Remove some more useless *alloc casts
reimar
parents: 18889
diff changeset
130 buff = malloc(maxlen);
15625
4be161b8e0ef compare resource url with bundle url, if its the same path do not use has conf file location.
nplourde
parents: 15237
diff changeset
131 strcpy(buff, res_url_path);
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
132
15145
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
133 strcat(buff,"/");
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
134 strcat(buff, filename);
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
135 }
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
136 }
a7f11c8091e4 allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
nplourde
parents: 12891
diff changeset
137 #endif
3746
d21bae2028a6 some debugging
arpi
parents: 2557
diff changeset
138 mp_msg(MSGT_GLOBAL,MSGL_V,"get_path('%s') -> '%s'\n",filename,buff);
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
139 return buff;
6a74454ea121 some cleanup
arpi
parents:
diff changeset
140 }
16781
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
141
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
142 #if defined(WIN32) && defined(USE_WIN32DLL)
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
143 void set_path_env()
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
144 {
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
145 /*make our codec dirs available for LoadLibraryA()*/
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
146 char tmppath[MAX_PATH*2 + 1];
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
147 char win32path[MAX_PATH];
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
148 char realpath[MAX_PATH];
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
149 #ifdef __CYGWIN__
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
150 cygwin_conv_to_full_win32_path(WIN32_PATH,win32path);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
151 strcpy(tmppath,win32path);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
152 #ifdef USE_REALCODECS
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
153 cygwin_conv_to_full_win32_path(REALCODEC_PATH,realpath);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
154 sprintf(tmppath,"%s;%s",win32path,realpath);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
155 #endif /*USE_REALCODECS*/
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
156 #else /*__CYGWIN__*/
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
157 /* Expand to absolute path unless it's already absolute */
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
158 if (!strstr(WIN32_PATH,":") && WIN32_PATH[0] != '\\'){
16781
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
159 GetModuleFileNameA(NULL, win32path, MAX_PATH);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
160 strcpy(strrchr(win32path, '\\') + 1, WIN32_PATH);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
161 }
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
162 else strcpy(win32path,WIN32_PATH);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
163 strcpy(tmppath,win32path);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
164 #ifdef USE_REALCODECS
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
165 /* Expand to absolute path unless it's already absolute */
24267
70437b99ccee cosmetics: Fix up whitespace, indentation and similar things.
diego
parents: 24266
diff changeset
166 if (!strstr(REALCODEC_PATH,":") && REALCODEC_PATH[0] != '\\'){
16781
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
167 GetModuleFileNameA(NULL, realpath, MAX_PATH);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
168 strcpy(strrchr(realpath, '\\') + 1, REALCODEC_PATH);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
169 }
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
170 else strcpy(realpath,REALCODEC_PATH);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
171 sprintf(tmppath,"%s;%s",win32path,realpath);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
172 #endif /*USE_REALCODECS*/
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
173 #endif /*__CYGWIN__*/
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
174 mp_msg(MSGT_WIN32, MSGL_V,"Setting PATH to %s\n",tmppath);
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
175 if (!SetEnvironmentVariableA("PATH", tmppath))
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
176 mp_msg(MSGT_WIN32, MSGL_WARN, "Cannot set PATH!");
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
177 }
6809ca5dd307 allow mencoder to load win32 codecs properly patch by Zuxy <zuxy.meng at gmail.com>
faust3
parents: 15625
diff changeset
178 #endif /*WIN32 && USE_WIN32DLL*/