diff options
author | anbr <vdr07@deltab.de> | 2010-12-26 20:24:33 +0100 |
---|---|---|
committer | anbr <vdr07@deltab.de> | 2010-12-26 20:24:33 +0100 |
commit | d81bbdf8f0e38eea30f0462616f64538d74770f5 (patch) | |
tree | bbe003913011d6a964a3cc4c9266b457977b282a | |
parent | 12d991fc0a8e7134429cbbb2ae1b53ad6859bc47 (diff) | |
download | vdr-plugin-dvdswitch-d81bbdf8f0e38eea30f0462616f64538d74770f5.tar.gz vdr-plugin-dvdswitch-d81bbdf8f0e38eea30f0462616f64538d74770f5.tar.bz2 |
Improve read of volume name
-rw-r--r-- | commands.c | 4 | ||||
-rw-r--r-- | volname.c | 6 |
2 files changed, 9 insertions, 1 deletions
@@ -729,8 +729,10 @@ cCMDImageRead::cCMDImageRead(cImageList &imagelist) } else { + dsyslog("dvdswitch: query name of volume %s",DVDSwitchSetup.DVDLinkOrg); int err = volname(DVDSwitchSetup.DVDLinkOrg, File,sizeof(File)); if(0 != err) { + esyslog("dvdswitch: Can't query name of volume! %d", err); OSDErrorNumMsg(err, tr("Can't query name of volume!")); strcpy(File, "\0"); } @@ -898,7 +900,7 @@ void cCMDImageReadThread::Action(void) if(f) { struct mntent *m; while ((m = getmntent(f))) { - dsyslog("%s %s %s", m->mnt_fsname, m->mnt_dir, m->mnt_type); + //dsyslog("%s %s %s", m->mnt_fsname, m->mnt_dir, m->mnt_type); if( m && m->mnt_fsname && m->mnt_dir && (0 == strcmp(m->mnt_fsname, DVDSwitchSetup.DVDLinkOrg) || 0 == strcmp(m->mnt_fsname, buffer))) { @@ -18,6 +18,7 @@ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> +#include <vdr/tools.h> int volname(const char* device, char* volname, size_t volsize) { @@ -25,6 +26,8 @@ int volname(const char* device, char* volname, size_t volsize) int status; char buffer[PATH_MAX]; + bzero(volname,volsize); + if(!realpath(device, buffer)) { return errno; } @@ -49,5 +52,8 @@ int volname(const char* device, char* volname, size_t volsize) } close(fd); + + stripspace(volname); + return 0; } |