Add GOTO_ERR() macro to set error and then goto a label
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 <anatol.pomozov@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
0deff63efa
commit
80ae80149a
1 changed files with 5 additions and 0 deletions
|
@ -71,6 +71,11 @@ void _alpm_alloc_fail(size_t size);
|
||||||
(handle)->pm_errno = (err); \
|
(handle)->pm_errno = (err); \
|
||||||
return (ret); } while(0)
|
return (ret); } while(0)
|
||||||
|
|
||||||
|
#define GOTO_ERR(handle, err, label) do { \
|
||||||
|
_alpm_log(handle, ALPM_LOG_DEBUG, "got error %d at %s (%s: %d) : %s\n", err, __func__, __FILE__, __LINE__, alpm_strerror(err)); \
|
||||||
|
(handle)->pm_errno = (err); \
|
||||||
|
goto label; } while(0)
|
||||||
|
|
||||||
#define RET_ERR_ASYNC_SAFE(handle, err, ret) do { \
|
#define RET_ERR_ASYNC_SAFE(handle, err, ret) do { \
|
||||||
(handle)->pm_errno = (err); \
|
(handle)->pm_errno = (err); \
|
||||||
return (ret); } while(0)
|
return (ret); } while(0)
|
||||||
|
|
Loading…
Add table
Reference in a new issue