summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--commands.c11
-rw-r--r--commands.h10
2 files changed, 11 insertions, 10 deletions
diff --git a/commands.c b/commands.c
index 542647b..db3c6dc 100644
--- a/commands.c
+++ b/commands.c
@@ -167,7 +167,7 @@ eOSState cCMDMenu::ProcessKey(eKeys Key)
// --- cCMDDir ------------------------------------------------------------
-cCMDDir::cCMDDir(cImageList &imagelist, cMainMenu *osdobject, bool select, char *buffer)
+cCMDDir::cCMDDir(cImageList &imagelist, cMainMenu *osdobject, bool select, char *lastdir)
: cOsdMenu(tr("Directory Management"))
, ImageList(imagelist)
{
@@ -178,7 +178,7 @@ cCMDDir::cCMDDir(cImageList &imagelist, cMainMenu *osdobject, bool select, char
State = csNone;
OsdObject = osdobject;
Select = select;
- Buffer = buffer;
+ LastDir = lastdir;
SetDir();
if(Select)
@@ -211,7 +211,7 @@ void cCMDDir::SetHelp(void)
}
}
-void cCMDDir::Build(char *dir)
+void cCMDDir::Build(const char *dir)
{
if(!dir)
dir = CurrentDir();
@@ -319,7 +319,8 @@ eOSState cCMDDir::ProcessKey(eKeys Key)
seldir++;
if(seldir[0] == '/')
seldir++;
- strn0cpy(Buffer, seldir, memberof(Buffer));
+ if(LastDir)
+ strn0cpy(LastDir, seldir, memberof(Dir));
cRemote::Put(kBack);
}
DELETENULL(info);
@@ -546,7 +547,7 @@ void cCMDMove::SetHelp(void)
cOsdMenu::SetHelp(NULL, NULL, NULL , tr("Insert"));
}
-void cCMDMove::Build(char *dir)
+void cCMDMove::Build(const char *dir)
{
if(!dir)
dir = CurrentDir();
diff --git a/commands.h b/commands.h
index e7d402f..2ddc376 100644
--- a/commands.h
+++ b/commands.h
@@ -58,11 +58,11 @@ class cCMDDir : public cOsdMenu, private cDirHandlingOpt
char Dir[MaxFileName];
cMainMenu *OsdObject;
bool Select;
- char *Buffer;
+ char *LastDir;
cImageList &ImageList;
- void Build(char *dir = NULL);
- void SetDir(char *value = NULL)
+ void Build(const char *dir = NULL);
+ void SetDir(const char *value = NULL)
{
if(value)
strn0cpy(Dir, value, MaxFileName);
@@ -75,7 +75,7 @@ class cCMDDir : public cOsdMenu, private cDirHandlingOpt
eOSState Edit(cMainMenuItem *mItem);
eOSState Edit(eKeys Key);
public:
- cCMDDir(cImageList &ImageList, cMainMenu *osdobject = NULL, bool select = false, char *buffer = NULL);
+ cCMDDir(cImageList &ImageList, cMainMenu *osdobject = NULL, bool select = false, char *lastdir = NULL);
virtual eOSState ProcessKey(eKeys Key);
void SetHelp(void);
@@ -90,7 +90,7 @@ class cCMDMove : public cOsdMenu, private cDirHandlingOpt
bool Direct;
cImageList &ImageList;
- void Build(char *dir = NULL);
+ void Build(const char *dir = NULL);
public:
cCMDMove(cImageList &ImageList, const char *file, cMainMenu *osdobject, bool dir = true, bool direct = false);
~cCMDMove(void) { free(File); }