Mercurial > mplayer.hg
annotate get_path.c @ 12795:ab369fe35121
10l
author | faust3 |
---|---|
date | Sun, 11 Jul 2004 13:43:43 +0000 |
parents | 133e0ebde74d |
children | 54ea3d6e657c |
rev | line source |
---|---|
2557 | 1 |
2 char *get_path(char *filename){ | |
3 char *homedir; | |
4 char *buff; | |
10026
b8780122e043
Cygwin should behave like a Unix environment, i.e. config files should be
diego
parents:
9929
diff
changeset
|
5 #if defined(__MINGW32__) |
9926
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
6 static char *config_dir = "/mplayer"; |
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
7 #else |
2557 | 8 static char *config_dir = "/.mplayer"; |
9926
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
9 #endif |
2557 | 10 int len; |
11 | |
12 if ((homedir = getenv("HOME")) == NULL) | |
9926
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
13 #if defined(__MINGW32__)||defined(__CYGWIN__) /*hack to get fonts etc. loaded outside of cygwin environment*/ |
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
14 { |
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
15 int i,imax=0; |
9929 | 16 char exedir[260]; |
17 GetModuleFileNameA(NULL, exedir, 260); | |
9926
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
18 for(i=0; i< strlen(exedir);i++)if(exedir[i] =='\\'){exedir[i]='/';imax=i;} |
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
19 exedir[imax]='\0'; |
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
20 homedir = exedir; |
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
21 } |
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
22 #else |
2557 | 23 return NULL; |
9926
ad429d617df4
allow config file loading outside of cygwin environment
faust3
parents:
3746
diff
changeset
|
24 #endif |
2557 | 25 len = strlen(homedir) + strlen(config_dir) + 1; |
26 if (filename == NULL) { | |
27 if ((buff = (char *) malloc(len)) == NULL) | |
28 return NULL; | |
29 sprintf(buff, "%s%s", homedir, config_dir); | |
30 } else { | |
31 len += strlen(filename) + 1; | |
32 if ((buff = (char *) malloc(len)) == NULL) | |
33 return NULL; | |
34 sprintf(buff, "%s%s/%s", homedir, config_dir, filename); | |
35 } | |
3746 | 36 mp_msg(MSGT_GLOBAL,MSGL_V,"get_path('%s') -> '%s'\n",filename,buff); |
2557 | 37 return buff; |
38 } |