From e148b73013109517c4d179aa9ae5a50b6d1dd5b5 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Thu, 4 Jun 2020 18:07:38 +0100 Subject: libctf: drop error-prone ctf_strerror This utility function is almost useless (all it does is casts the result of a strerror) but has a seriously confusing name. Over and over again I have accidentally called it instead of ctf_errmsg, and hidden a time-bomb for myself in a hard-to-test error-handling path: since ctf_strerror is just a strerror wrapper, it cannot handle CTF errnos, unlike ctf_errmsg. It's astonishingly lucky that none of these errors have crept into any commits to date. Fuse it into ctf_errmsg and drop it. libctf/ * ctf-impl.h (ctf_strerror): Delete. * ctf-subr.c (ctf_strerror): Likewise. * ctf-error.c (ctf_errmsg): Stop using ctf_strerror: just use strerror directly. --- libctf/ctf-error.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libctf/ctf-error.c') diff --git a/libctf/ctf-error.c b/libctf/ctf-error.c index 84d14d5..20971f4 100644 --- a/libctf/ctf-error.c +++ b/libctf/ctf-error.c @@ -19,6 +19,7 @@ #include #include +#include /* This construct is due to Bruno Haible: much thanks. */ @@ -67,7 +68,7 @@ ctf_errmsg (int error) if (error >= ECTF_BASE && (error - ECTF_BASE) < ECTF_NERR) str = _ctf_errlist.str + _ctf_erridx[error - ECTF_BASE]; else - str = ctf_strerror (error); + str = (const char *) strerror (error); return (str ? str : "Unknown error"); } -- cgit v1.1