diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:29:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:29:01 +0000 |
commit | 35a96bde514a8897f6f0fcc41c5833bf63df2e2a (patch) | |
tree | 657d15a03cc46bd099fc2c6546a7a4ad43815d9f /src/3rdparty/autotrace/xstd.h | |
parent | Initial commit. (diff) | |
download | inkscape-upstream.tar.xz inkscape-upstream.zip |
Adding upstream version 1.0.2.upstream/1.0.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/3rdparty/autotrace/xstd.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/3rdparty/autotrace/xstd.h b/src/3rdparty/autotrace/xstd.h new file mode 100644 index 0000000..18e4d5b --- /dev/null +++ b/src/3rdparty/autotrace/xstd.h @@ -0,0 +1,81 @@ +/* xstd.h: Wrappers for functions in C standard library + Was: xmem, xfile */ + +/* These call the corresponding function in the standard library, and + abort if those routines fail. */ + +#ifndef XSTD_H +#define XSTD_H + +#include "types.h" +#include <assert.h> +#include <stdlib.h> + +/* + * XMEM + */ +#ifndef __cplusplus +#define XMALLOC(new_mem, size) \ +do \ + { \ + new_mem = (gpointer) malloc (size); \ + assert(new_mem); \ + } while (0) + +#define XCALLOC(new_mem, size) \ +do \ + { \ + new_mem = (gpointer) calloc (size, 1); \ + assert(new_mem); \ + } while (0) + +#define XREALLOC(old_ptr, size) \ +do \ + { \ + gpointer new_mem; \ + \ + if (old_ptr == NULL) \ + XMALLOC (new_mem, size); \ + else \ + { \ + new_mem = (gpointer) realloc (old_ptr, size); \ + assert(new_mem); \ + } \ + \ + old_ptr = new_mem; \ +} while (0) + +#else +/* Use templates if Cplusplus... */ +#define XMALLOC(new_mem, size) \ +do \ + { \ + (gpointer&)(new_mem) = (gpointer) malloc (size); \ + assert(new_mem); \ + } while (0) + +#define XCALLOC(new_mem, sizex) \ +do \ + { \ + (gpointer&)(new_mem) = (void *) calloc (sizex, 1); \ + assert(new_mem); \ + } while (0) + +#define XREALLOC(old_ptr, size) \ +do \ + { \ + gpointer new_mem; \ + \ + if (old_ptr == NULL) \ + XMALLOC (new_mem, (size)); \ + else \ + { \ + (gpointer&) new_mem = (gpointer) realloc ((old_ptr), (size)); \ + assert(new_mem); \ + } \ + \ + (gpointer&)old_ptr = new_mem; \ + } while (0) +#endif + +#endif /* Not XSTD_H */ |