[MPlayer-cvslog] r25556 - trunk/libmenu/menu_filesel.c
ulion
subversion at mplayerhq.hu
Mon Dec 31 02:20:50 CET 2007
Author: ulion
Date: Mon Dec 31 02:20:50 2007
New Revision: 25556
Log:
Default use the dir where the current playing file located if path not set.
Modified:
trunk/libmenu/menu_filesel.c
Modified: trunk/libmenu/menu_filesel.c
==============================================================================
--- trunk/libmenu/menu_filesel.c (original)
+++ trunk/libmenu/menu_filesel.c Mon Dec 31 02:20:50 2007
@@ -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* a
}
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);
More information about the MPlayer-cvslog
mailing list