Reformat source code with clang-format Closes #46 See merge request isc-projects/bind9!2156 (cherry picked from commit7099e79a9b)4c3b063eImport Linux kernel .clang-format with small modificationsf50b1e06Use clang-format to reformat the source files11341c76Update the definition files for Windowsdf6c1f76Remove tkey_test (which is no-op anyway)
59 lines
1.7 KiB
C
59 lines
1.7 KiB
C
/*
|
|
* Memory allocation and error handling utilities.
|
|
*
|
|
* Copyright (C) 2009-2015 Red Hat ; see COPYRIGHT for license
|
|
*/
|
|
|
|
#ifndef _LD_UTIL_H_
|
|
#define _LD_UTIL_H_
|
|
|
|
#include <isc/mem.h>
|
|
|
|
#include <dns/types.h>
|
|
|
|
#include "log.h"
|
|
|
|
#define CLEANUP_WITH(result_code) \
|
|
do { \
|
|
result = (result_code); \
|
|
goto cleanup; \
|
|
} while (0)
|
|
|
|
#define CHECK(op) \
|
|
do { \
|
|
result = (op); \
|
|
if (result != ISC_R_SUCCESS) \
|
|
goto cleanup; \
|
|
} while (0)
|
|
|
|
#define CHECKED_MEM_GET(m, target_ptr, s) \
|
|
do { \
|
|
(target_ptr) = isc_mem_get((m), (s)); \
|
|
if ((target_ptr) == NULL) { \
|
|
result = ISC_R_NOMEMORY; \
|
|
log_error("Memory allocation failed"); \
|
|
goto cleanup; \
|
|
} \
|
|
} while (0)
|
|
|
|
#define CHECKED_MEM_GET_PTR(m, target_ptr) \
|
|
CHECKED_MEM_GET(m, target_ptr, sizeof(*(target_ptr)))
|
|
|
|
#define CHECKED_MEM_STRDUP(m, source, target) \
|
|
do { \
|
|
(target) = isc_mem_strdup((m), (source)); \
|
|
if ((target) == NULL) { \
|
|
result = ISC_R_NOMEMORY; \
|
|
log_error("Memory allocation failed"); \
|
|
goto cleanup; \
|
|
} \
|
|
} while (0)
|
|
|
|
#define ZERO_PTR(ptr) memset((ptr), 0, sizeof(*(ptr)))
|
|
|
|
#define MEM_PUT_AND_DETACH(target_ptr) \
|
|
isc_mem_putanddetach(&(target_ptr)->mctx, target_ptr, \
|
|
sizeof(*(target_ptr)))
|
|
|
|
#endif /* !_LD_UTIL_H_ */
|