On 7/3/20 6:00 am, Anatol Pomozov wrote: > This is a macro similar to RET_ERR but useful in the case when we need > to record an error and then jump to some cleanup section. > > Signed-off-by: Anatol Pomozov <[email protected]> > --- > lib/libalpm/util.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h > index 9827b2c1..ce80b32b 100644 > --- a/lib/libalpm/util.h > +++ b/lib/libalpm/util.h > @@ -71,6 +71,11 @@ void _alpm_alloc_fail(size_t size); > (handle)->pm_errno = (err); \ > return (ret); } while(0) > > +#define GOTO_ERR(handle, err, label) do { \ > + _alpm_log(handle, ALPM_LOG_DEBUG, "got error %d at %s:%d : %s\n", err, > __func__, __LINE__, alpm_strerror(err)); \ > + (handle)->pm_errno = (err); \ > + goto label; } while(0) > +
This is OK. And there are dozens of places it could be used. Do we need __LINE__? I note we don't use it in RET_ERR, and I am not a fan of it... Function and error should be enough, or we need more specific error codes. A
