Default use the dir where the current playing file located if path not set.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25556 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
ulion 2007-12-31 01:20:50 +00:00
parent c98db3f442
commit 61f55e9fd7
1 changed files with 16 additions and 2 deletions

View File

@ -31,6 +31,7 @@
int menu_keepdir = 0;
char *menu_chroot = NULL;
extern char *filename;
struct list_entry_s {
struct list_entry p;
@ -425,8 +426,21 @@ static int open_fs(menu_t* menu, char* args) {
}
getcwd(wd,PATH_MAX);
if (!path || path[0] == '\0')
path = wd;
if (!path || path[0] == '\0') {
char *slash = NULL;
if (filename && !strstr(filename, "://") && (path=realpath(filename, b))) {
slash = strrchr(path, '/');
#if defined(__MINGW32__) || defined(__CYGWIN__)
// FIXME: Do we need and can convert all '\\' in path to '/' on win32?
if (!slash)
slash = strrchr(path, '\\');
#endif
}
if (slash)
slash[1] = '\0';
else
path = wd;
}
if (path[0] != '/') {
if(path[strlen(path)-1] != '/')
snprintf(b,sizeof(b),"%s/%s/",wd,path);