pjdlog.h (217965) | pjdlog.h (217966) |
---|---|
1/*- 2 * Copyright (c) 2009-2010 The FreeBSD Foundation 3 * Copyright (c) 2011 Pawel Jakub Dawidek <pjd@FreeBSD.org> 4 * All rights reserved. 5 * 6 * This software was developed by Pawel Jakub Dawidek under sponsorship from 7 * the FreeBSD Foundation. 8 * --- 13 unchanged lines hidden (view full) --- 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * | 1/*- 2 * Copyright (c) 2009-2010 The FreeBSD Foundation 3 * Copyright (c) 2011 Pawel Jakub Dawidek <pjd@FreeBSD.org> 4 * All rights reserved. 5 * 6 * This software was developed by Pawel Jakub Dawidek under sponsorship from 7 * the FreeBSD Foundation. 8 * --- 13 unchanged lines hidden (view full) --- 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * |
30 * $FreeBSD: head/sbin/hastd/pjdlog.h 217965 2011-01-27 19:24:07Z pjd $ | 30 * $FreeBSD: head/sbin/hastd/pjdlog.h 217966 2011-01-27 19:28:29Z pjd $ |
31 */ 32 33#ifndef _PJDLOG_H_ 34#define _PJDLOG_H_ 35 36#include <sys/cdefs.h> 37 38#include <stdarg.h> --- 46 unchanged lines hidden (view full) --- 85 86void pjdlog_exit(int exitcode, const char *fmt, ...) __printflike(2, 3) __dead2; 87void pjdlogv_exit(int exitcode, const char *fmt, va_list ap) __printflike(2, 0) __dead2; 88 89void pjdlog_exitx(int exitcode, const char *fmt, ...) __printflike(2, 3) __dead2; 90void pjdlogv_exitx(int exitcode, const char *fmt, va_list ap) __printflike(2, 0) __dead2; 91 92void pjdlog_verify(const char *func, const char *file, int line, | 31 */ 32 33#ifndef _PJDLOG_H_ 34#define _PJDLOG_H_ 35 36#include <sys/cdefs.h> 37 38#include <stdarg.h> --- 46 unchanged lines hidden (view full) --- 85 86void pjdlog_exit(int exitcode, const char *fmt, ...) __printflike(2, 3) __dead2; 87void pjdlogv_exit(int exitcode, const char *fmt, va_list ap) __printflike(2, 0) __dead2; 88 89void pjdlog_exitx(int exitcode, const char *fmt, ...) __printflike(2, 3) __dead2; 90void pjdlogv_exitx(int exitcode, const char *fmt, va_list ap) __printflike(2, 0) __dead2; 91 92void pjdlog_verify(const char *func, const char *file, int line, |
93 const char *failedexpr); | 93 const char *failedexpr, const char *fmt, ...) __printflike(5, 6); |
94 95#define PJDLOG_VERIFY(expr) do { \ | 94 95#define PJDLOG_VERIFY(expr) do { \ |
96 if (!(expr)) \ 97 pjdlog_verify(__func__, __FILE__, __LINE__, #expr); \ | 96 if (!(expr)) { \ 97 pjdlog_verify(__func__, __FILE__, __LINE__, #expr, \ 98 __func__); \ 99 } \ |
98} while (0) | 100} while (0) |
101#define PJDLOG_RVERIFY(expr, ...) do { \ 102 if (!(expr)) { \ 103 pjdlog_verify(__func__, __FILE__, __LINE__, #expr, \ 104 __VA_ARGS__); \ 105 } \ 106} while (0) 107#define PJDLOG_ABORT(...) pjdlog_verify(__func__, __FILE__, \ 108 __LINE__, NULL, __VA_ARGS__) |
|
99#ifdef NDEBUG 100#define PJDLOG_ASSERT(expr) do { } while (0) | 109#ifdef NDEBUG 110#define PJDLOG_ASSERT(expr) do { } while (0) |
111#define PJDLOG_RASSERT(...) do { } while (0) |
|
101#else 102#define PJDLOG_ASSERT(expr) PJDLOG_VERIFY(expr) | 112#else 113#define PJDLOG_ASSERT(expr) PJDLOG_VERIFY(expr) |
114#define PJDLOG_RASSERT(...) PJDLOG_RVERIFY(__VA_ARGS__) |
|
103#endif 104 105#endif /* !_PJDLOG_H_ */ | 115#endif 116 117#endif /* !_PJDLOG_H_ */ |