There are many problems with the way the current version is provided and maintained. This commit or series of commits will fix this.
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
/**
|
|
* @file commons.h
|
|
* @author Piotr Krygier (everyonecancode@gmail.com)
|
|
* @brief Common functionality for all modules
|
|
* @version 0.1
|
|
* @date 2023-10-05
|
|
*
|
|
* @copyright Copyright (c) 2023
|
|
*
|
|
*/
|
|
|
|
#ifndef COMMONS_H
|
|
#define COMMONS_H
|
|
|
|
#include "utilities/logger.h"
|
|
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
|
|
/**
|
|
* @brief Macro for allocating memory and checking it on the same line
|
|
*
|
|
*/
|
|
#ifndef RSE_TEST
|
|
#define rse_malloc(ptr, size) \
|
|
ptr = malloc(size); \
|
|
if (ptr == NULL) { \
|
|
LOGF(_("Memory allocation failed\n")); \
|
|
exit(1); \
|
|
}
|
|
|
|
#define rse_free(ptr) free(ptr);
|
|
|
|
#define rse_memcpy(dst, src, size) memcpy(dst, src, size);
|
|
#define rse_memset(ptr, value, size) memset(ptr, value, size);
|
|
#else
|
|
#define rse_malloc(ptr, size) ptr = NULL;
|
|
#define rse_free(ptr)
|
|
#define rse_memcpy(dst, src, size)
|
|
#define rse_memset
|
|
#endif
|
|
|
|
/**
|
|
* @brief Error type for RSE
|
|
*
|
|
*/
|
|
typedef uint32_t rse_err_t;
|
|
|
|
#endif /* COMMONS_H */
|