/*
 * Copyright (C) 2012-2019, Samsung Electronics Co., Ltd.
 *
 * Miscellaneous functions definitions.
 *
 */

#pragma once

#include "dbg.h"
#include <stdlib.h>

#define _log_panic_(result) errPrintf("Panic in file:%s, line:%u. result: %ld, errno: %d\n", \
                                   __FILE__, __LINE__, (long)(result), errno)

#define ALWAYS_ZERO(x)                       \
    do {                                     \
        typeof(x) __tmp_res = (x);           \
        if (__tmp_res) {                     \
            _log_panic_(__tmp_res);         \
            abort();                         \
        }                                    \
    } while (0)
