summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Mair <amair.sob@googlemail.com>2011-03-05 11:52:09 +0100
committerAndreas Mair <amair.sob@googlemail.com>2011-03-05 11:52:09 +0100
commitac3ca809d23b4ac399d3f2f96d88314e7e24aa7a (patch)
tree6ab6c163e178d57d247d7c1525b659bc3f7d6f88
parent3a4e225a07c8cf43b82b468938a9dba60942d85d (diff)
downloadvdr-plugin-skinenigmang-ac3ca809d23b4ac399d3f2f96d88314e7e24aa7a.tar.gz
vdr-plugin-skinenigmang-ac3ca809d23b4ac399d3f2f96d88314e7e24aa7a.tar.bz2
Use access() instead if lstat() to check if logo is readable.
-rw-r--r--logo.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/logo.c b/logo.c
index 528bf71..119554b 100644
--- a/logo.c
+++ b/logo.c
@@ -207,25 +207,29 @@ bool cEnigmaLogoCache::LoadXpm(const char *fileNameP, int w, int h)
if (fileNameP == NULL)
return false;
- struct stat stbuf;
cBitmap *bmp = new cBitmap(1, 1, 1);
// create absolute filename
debug("cPluginSkinEnigma::LoadXpm(%s)", fileNameP);
// check validity
- if ((lstat(fileNameP, &stbuf) == 0) && bmp->LoadXpm(fileNameP)) {
- if ((bmp->Width() <= w) && (bmp->Height() <= h)) {
- debug("cPluginSkinEnigma::LoadXpm(%s) LOGO FOUND", fileNameP);
- // assign bitmap
- bitmapM = bmp;
- return true;
+ if (access(fileNameP, R_OK) == 0) {
+ if (bmp->LoadXpm(fileNameP)) {
+ if ((bmp->Width() <= w) && (bmp->Height() <= h)) {
+ debug("cPluginSkinEnigma::LoadXpm(%s) LOGO FOUND", fileNameP);
+ // assign bitmap
+ bitmapM = bmp;
+ return true;
+ } else {
+ // wrong size
+ error("cPluginSkinEnigma::LoadXpm(%s) LOGO HAS WRONG SIZE %d/%d (%d/%d)", fileNameP, bmp->Width(), bmp->Height(), w, h);
+ }
} else {
- // wrong size
- error("cPluginSkinEnigma::LoadXpm(%s) LOGO HAS WRONG SIZE %d/%d (%d/%d)", fileNameP, bmp->Width(), bmp->Height(), w, h);
+ // bmp->LoadXpm() failed
+ error("cPluginSkinEnigma::LoadXpm(%s) VDR can't load logo", fileNameP);
}
} else {
// no xpm logo found
- error("cPluginSkinEnigma::LoadXpm(%s) LOGO NOT FOUND", fileNameP);
+ error("cPluginSkinEnigma::LoadXpm(%s) LOGO NOT FOUND/READABLE (%m)", fileNameP);
}
delete bmp;