Root/cameo/util.h

1/*
2 * util.h - Common utility functions
3 *
4 * Written 2009 by Werner Almesberger
5 * Copyright 2009 by Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13#ifndef UTIL_H
14#define UTIL_H
15
16#include <stdlib.h>
17#include <string.h>
18
19
20#define alloc_size(s) \
21    ({ void *alloc_size_tmp = malloc(s); \
22    if (!alloc_size_tmp) \
23        abort(); \
24    alloc_size_tmp; })
25
26#define alloc_type(t) ((t *) alloc_size(sizeof(t)))
27
28#define stralloc(s) \
29    ({ char *stralloc_tmp = strdup(s); \
30    if (!stralloc_tmp) \
31        abort(); \
32    stralloc_tmp; })
33
34#endif /* !UTIL_H */
35

Archive Download this file

Branches:
master



interactive