From 12d991fc0a8e7134429cbbb2ae1b53ad6859bc47 Mon Sep 17 00:00:00 2001 From: anbr Date: Sun, 26 Dec 2010 19:53:18 +0100 Subject: Improve handle of error messages --- helpers.c | 14 ++++---------- 1 file 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); } -- cgit v1.2.3