diff options
author | anbr <vdr07@deltab.de> | 2010-12-26 19:53:18 +0100 |
---|---|---|
committer | anbr <vdr07@deltab.de> | 2010-12-26 19:53:18 +0100 |
commit | 12d991fc0a8e7134429cbbb2ae1b53ad6859bc47 (patch) | |
tree | 61518a68c13d7ae33193c450bffa4c8569c69f4f | |
parent | bb79315df2cacf2c4c2a5a4d457a5f764bc3159e (diff) | |
download | vdr-plugin-dvdswitch-12d991fc0a8e7134429cbbb2ae1b53ad6859bc47.tar.gz vdr-plugin-dvdswitch-12d991fc0a8e7134429cbbb2ae1b53ad6859bc47.tar.bz2 |
Improve handle of error messages
-rw-r--r-- | helpers.c | 14 |
1 files changed, 4 insertions, 10 deletions
@@ -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); } |