annotate get_path.c @ 28505:f3fa6fe243e6

Ignore errors from all rm commands in clean targets. This way make will not stop on failure and remove as much as possible.
author diego
date Thu, 12 Feb 2009 12:32:16 +0000
parents 3e3bd9da4c7e
children eda346733b8c
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"
27284
3a1a148a9633 File was missing its dedicated header inclusion.
ben
parents: 26056
diff changeset
14 #include "get_path.h"
24242
76f5d8892c04 Clean up the way get_path is handled: Compile get_path.c to an object to link
diego
parents: 23806
diff changeset
15
27397
d47744b95b78 Give a CONFIG_ prefix to preprocessor directives that lacked one and
diego
parents: 27341
diff changeset
16 #ifdef CONFIG_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
17 #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
18 #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
19 #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
20 #include <unistd.h>
28364
3e3bd9da4c7e Use OS preprocessor checks with '#if defined()' consistently.
diego
parents: 27749
diff changeset
21 #elif defined(__MINGW32__)
24266
0fad7c7596be Fix linking on Windows.
diego
parents: 24242
diff changeset
22 #include <windows.h>
28364
3e3bd9da4c7e Use OS preprocessor checks with '#if defined()' consistently.
diego
parents: 27749
diff changeset
23 #elif defined(__CYGWIN__)
27722
a593f936d330 Add missing Cygwin header, fixes the warning:
diego
parents: 27397
diff changeset
24 #include <windows.h>
a593f936d330 Add missing Cygwin header, fixes the warning:
diego
parents: 27397
diff changeset
25 #include <sys/cygwin.h>
28364
3e3bd9da4c7e Use OS preprocessor checks with '#if defined()' consistently.
diego
parents: 27749
diff changeset
26 #elif defined(__OS2__)
26056
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;
27397
d47744b95b78 Give a CONFIG_ prefix to preprocessor directives that lacked one and
diego
parents: 27341
diff changeset
40 #ifdef CONFIG_MACOSX_BUNDLE
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
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
27397
d47744b95b78 Give a CONFIG_ prefix to preprocessor directives that lacked one and
diego
parents: 27341
diff changeset
98 #ifdef CONFIG_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
27727
48c1ae64255b Replace preprocessor check for WIN32 with checks for __MINGW32__ and __CYGWIN__.
diego
parents: 27722
diff changeset
142 #if (defined(__MINGW32__) || defined(__CYGWIN__)) && defined(CONFIG_WIN32DLL)
16781
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);
27341
e7c989f7a7c9 Start unifying names of internal preprocessor directives.
diego
parents: 27284
diff changeset
152 #ifdef CONFIG_REALCODECS
16781
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);
27341
e7c989f7a7c9 Start unifying names of internal preprocessor directives.
diego
parents: 27284
diff changeset
155 #endif /*CONFIG_REALCODECS*/
16781
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);
27341
e7c989f7a7c9 Start unifying names of internal preprocessor directives.
diego
parents: 27284
diff changeset
164 #ifdef CONFIG_REALCODECS
16781
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);
27341
e7c989f7a7c9 Start unifying names of internal preprocessor directives.
diego
parents: 27284
diff changeset
172 #endif /*CONFIG_REALCODECS*/
16781
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 }
27727
48c1ae64255b Replace preprocessor check for WIN32 with checks for __MINGW32__ and __CYGWIN__.
diego
parents: 27722
diff changeset
178 #endif /* (defined(__MINGW32__) || defined(__CYGWIN__)) && defined(CONFIG_WIN32DLL) */