Data Structures UFC
1.0.0
Essential Data Structures for C language
Main Page
Data Structures
Files
File List
Globals
src
utils
check_alloc.h
Go to the documentation of this file.
1
13
#ifndef CHECK_ALLOC_H
14
#define CHECK_ALLOC_H
15
#ifndef DS_UFC_H
16
#include <stdio.h>
17
#include <stdlib.h>
18
#endif
19
20
// wondering why the `static` here?
21
// the inline is just to expand as macro instead to define a function
22
// here is the reason:
23
// https://stackoverflow.com/questions/9428433/small-functions-defined-in-header-files-inline-or-static
24
// basically is to avoid multiple definitions problem when this unit is included
25
// in several sources and later is linked together.
26
// yes, in this case the include guard is not enough.
27
// but this is bad?
28
29
30
static
inline
void
check_alloc(
void
*p) {
31
if
(p == NULL) {
32
puts(
"Memory allocation error."
);
33
exit(EXIT_FAILURE);
34
}
35
}
36
37
38
#endif
Generated by
1.8.11