Mercurial > mplayer.hg
view get_path.c @ 10607:a17ebe817e33
Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
author | alex |
---|---|
date | Thu, 14 Aug 2003 01:54:27 +0000 |
parents | b8780122e043 |
children | 133e0ebde74d |
line wrap: on
line source
char *get_path(char *filename){ char *homedir; char *buff; #if defined(__MINGW32__) static char *config_dir = "/mplayer"; #else static char *config_dir = "/.mplayer"; #endif int len; if ((homedir = getenv("HOME")) == NULL) #if defined(__MINGW32__)||defined(__CYGWIN__) /*hack to get fonts etc. loaded outside of cygwin environment*/ { int __stdcall GetModuleFileNameA(void* hModule,char* lpFilename,int nSize); int i,imax=0; char exedir[260]; GetModuleFileNameA(NULL, exedir, 260); for(i=0; i< strlen(exedir);i++)if(exedir[i] =='\\'){exedir[i]='/';imax=i;} exedir[imax]='\0'; homedir = exedir; } #else return NULL; #endif len = strlen(homedir) + strlen(config_dir) + 1; if (filename == NULL) { if ((buff = (char *) malloc(len)) == NULL) return NULL; sprintf(buff, "%s%s", homedir, config_dir); } else { len += strlen(filename) + 1; if ((buff = (char *) malloc(len)) == NULL) return NULL; sprintf(buff, "%s%s/%s", homedir, config_dir, filename); } mp_msg(MSGT_GLOBAL,MSGL_V,"get_path('%s') -> '%s'\n",filename,buff); return buff; }