summaryrefslogtreecommitdiff
path: root/mymenueditrecording.c
diff options
context:
space:
mode:
authorMartin Prochnow <nordlicht@martins-kabuff.de>2006-06-20 16:18:09 +0200
committerAndreas Mair <andreas@vdr-developer.org>2006-06-20 16:18:09 +0200
commit978605b653893d76a6e34f923d74bb64dfb957ca (patch)
treecdc9149233b6219851ff1f2e7d24a3f1a5f370cf /mymenueditrecording.c
parent75cebc37f280719c40824a6f76b43018f6c71d16 (diff)
downloadvdr-plugin-extrecmenu-978605b653893d76a6e34f923d74bb64dfb957ca.tar.gz
vdr-plugin-extrecmenu-978605b653893d76a6e34f923d74bb64dfb957ca.tar.bz2
Version 0.12av0.12a
- fixed a bug if you compiled the plugin with support for the PIN-plugin; thanks to Thiemo Gehrke for reporting - fixed another bug with editing recordings if VDR is compiled with VFAT=1 or started with the option --vfat; based upon a patch of berndm from vdr-portal.de
Diffstat (limited to 'mymenueditrecording.c')
-rw-r--r--mymenueditrecording.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/mymenueditrecording.c b/mymenueditrecording.c
index 893a014..55eb3ec 100644
--- a/mymenueditrecording.c
+++ b/mymenueditrecording.c
@@ -14,8 +14,8 @@ myMenuRenameRecording::myMenuRenameRecording(myMenuRecordings *MenuRecordings,cR
isdir=false;
menurecordings=MenuRecordings;
recording=Recording;
- dirbase=DirBase?strdup(DirBase):NULL;
- dirname=DirName?strdup(DirName):NULL;
+ dirbase=DirBase?ExchangeChars(strdup(DirBase),true):NULL;
+ dirname=DirName?ExchangeChars(strdup(DirName),true):NULL;
strn0cpy(name,"",sizeof(name));
strn0cpy(path,"",sizeof(path));
@@ -60,8 +60,8 @@ eOSState myMenuRenameRecording::ProcessKey(eKeys Key)
{
char *oldname=NULL;
char *newname=NULL;
- char *tmppath=path[0]?strdup(path):NULL;
- char *tmpname=name[0]?strdup(name):NULL;
+ char *tmppath=path[0]?ExchangeChars(strdup(path),true):NULL;
+ char *tmpname=name[0]?ExchangeChars(strdup(name),true):NULL;
if(strchr(name,'.')==name||!strlen(name))
{
@@ -71,11 +71,11 @@ eOSState myMenuRenameRecording::ProcessKey(eKeys Key)
}
if(isdir)
- asprintf(&oldname,"%s%s%s/%s",VideoDirectory,tmppath?"/":"",dirbase?ExchangeChars(dirbase,true):"",ExchangeChars(dirname,true));
+ asprintf(&oldname,"%s%s%s/%s",VideoDirectory,tmppath?"/":"",dirbase?dirbase:"",dirname);
else
oldname=strdup(recording->FileName());
- asprintf(&newname,"%s%s%s/%s%s",VideoDirectory,tmppath?"/":"",tmppath?ExchangeChars(tmppath,true):"",ExchangeChars(tmpname,true),isdir?"":strrchr(recording->FileName(),'/'));
+ asprintf(&newname,"%s%s%s/%s%s",VideoDirectory,tmppath?"/":"",tmppath?tmppath:"",tmpname,isdir?"":strrchr(recording->FileName(),'/'));
if(MoveRename(oldname,newname,isdir?NULL:recording,false))
{
@@ -281,11 +281,13 @@ eOSState myMenuMoveRecording::MoveRec()
char *oldname=NULL;
char *newname=NULL;
char *dir=NULL;
+ char *tmpdirbase=dirbase?ExchangeChars(strdup(dirbase),true):NULL;
+ char *tmpdirname=dirname?ExchangeChars(strdup(dirname),true):NULL;
eOSState state=osContinue;
if(dirname)
- asprintf(&oldname,"%s%s%s/%s",VideoDirectory,dirbase?"/":"",dirbase?ExchangeChars(dirbase,true):"",ExchangeChars(dirname,true));
+ asprintf(&oldname,"%s%s%s/%s",VideoDirectory,dirbase?"/":"",tmpdirbase?tmpdirbase:"",tmpdirname);
else
oldname=strdup(recording->FileName());
@@ -338,6 +340,8 @@ eOSState myMenuMoveRecording::MoveRec()
free(oldname);
free(newname);
free(dir);
+ free(tmpdirbase);
+ free(tmpdirname);
return state;
}