Commit Graph

9 Commits

Author SHA1 Message Date
Andrew Bettison
6dd823a9e8 Rename "features.h" to "lang.h"
In preparation for introducing "feature.h" for feature-driven linking.
2016-10-19 09:30:18 +10:30
Andrew Bettison
e8e87b8a34 Fix broken clang and Android builds
Recent addition of the GCC __attribute__(alloc_size) to some functions
in mem.h broke the build when using Clang 3.5.  This commit introduces
configure-time checks for all GCC attributes used in the Serval source
code, and adapts accordingly.
2015-11-23 15:00:25 +10:30
Andrew Bettison
1d3a6abe61 Remove __attribute__(returns_nonnull) from emalloc() et al
Was added in error; in fact, emalloc() and its ilk can return NULL.
Also, Clang 3.5 and the Android GCC do not support this attribute.
2015-11-23 15:00:03 +10:30
Andrew Bettison
fdc6156ec7 Under GCC, enforce proper strbuf_local_buf() arg
Internally the strbuf_local_buf(x) macro uses sizeof(x) to determine
the size of the buffer, but this will give the wrong behaviour if x
is a pointer (char *x), not an array (char x[]).  With this change,
invoking it with a pointer will cause a compile error.

The safety check makes use of the GCC extensions: __builtin_object_size()
and __attribute__((alloc_size(n)).  Under non-GCC compilers, the safety
check will not be performed.
2015-11-17 00:42:06 +10:30
Andrew Bettison
5226e47ef6 Uniform #ifdef __SERVAL_DNA__... for headers 2013-12-04 17:15:36 +10:30
Andrew Bettison
94c6562ee1 Add erealloc() function to mem.h, mem.c 2013-04-30 17:26:27 +09:30
Andrew Bettison
5139d8d34d Add mem.c and "mem.h" with emalloc() etc. 2012-12-04 10:03:32 +10:30
Andrew Bettison
4aac3637ed Improve new config code, SORTED and NO_DUPLICATE flags
Config Object Model parser now returns bitmask result of CFxxx flags and only
allocates root node if the config file is non-empty.

Added emalloc_zero().
2012-11-30 12:32:30 +10:30
Andrew Bettison
f42292ffc6 Refactor emalloc() etc. into mem.c/.h 2012-11-29 17:12:43 +10:30