summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranbr <vdr07@deltab.de>2010-12-26 19:53:18 +0100
committeranbr <vdr07@deltab.de>2010-12-26 19:53:18 +0100
commit12d991fc0a8e7134429cbbb2ae1b53ad6859bc47 (patch)
tree61518a68c13d7ae33193c450bffa4c8569c69f4f
parentbb79315df2cacf2c4c2a5a4d457a5f764bc3159e (diff)
downloadvdr-plugin-dvdswitch-12d991fc0a8e7134429cbbb2ae1b53ad6859bc47.tar.gz
vdr-plugin-dvdswitch-12d991fc0a8e7134429cbbb2ae1b53ad6859bc47.tar.bz2
Improve handle of error messages
-rw-r--r--helpers.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/helpers.c b/helpers.c
index e366e17..bd3097a 100644
--- a/helpers.c
+++ b/helpers.c
@@ -23,21 +23,15 @@ void OsdMsg(eMessageType Type, const char *Msg)
#endif
}
-char *get_strerror(int n)
-{
- char *s;
- size_t size = 128;
- s = (char*)malloc(size);
- if (s == NULL)
- return NULL;
- strerror_r(n, s, size);
- return s;
+char *get_strerror(int nErr) {
+ char szErr[128];
+ return nErr ? strdup(strerror_r(nErr,szErr,sizeof(szErr)-1)) : NULL;
}
void OSDErrorNumMsg(int err, const char* szDef)
{
char* szErr = get_strerror(err);
- esyslog("dvdswitch: %s :%s", szDef, szErr ? szErr : "");
+ esyslog("dvdswitch: %s : %s (%d)", szDef, szErr ? szErr : "", err);
OsdMsg(mtError, szErr ? szErr : szDef);
if(szErr) free(szErr);
}