+++ /dev/null
-#ifndef BASICS_H_\r
-#define BASICS_H_\r
-\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-//#include <string.h> // for memset\r
-#include <sys/types.h>\r
-#include <unistd.h>\r
-#include <errno.h>\r
-#define B_ERROR(msg) do { fprintf(stderr,"%s\n", msg); exit(1); } while (0)\r
-\r
-inline void ufread(void *ptr, size_t size, size_t nmemb, FILE *stream)\r
- {\r
- size_t res;\r
- res = fread(ptr,size,nmemb,stream);\r
- if (res < nmemb)\r
- B_ERROR ("ufread I/O error" );\r
- return;\r
- }\r
-\r
-inline void ufwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)\r
- {\r
- size_t res;\r
- res = fwrite(ptr,size,nmemb,stream);\r
- if (res < nmemb)\r
- B_ERROR("ufwrite I/O error");\r
- return;\r
- }\r
-\r
-inline void *urealloc(void *ptr, size_t size)\r
- {\r
- void *dest = realloc(ptr,size);\r
- //don't fail if we requested size 0\r
- if (dest == NULL && size > 0 )\r
- B_ERROR("urealoc error");\r
- return dest;\r
- }\r
-// realloc and set to 0\r
-inline void *urecalloc(void *ptr, size_t o_size, size_t n_size)\r
- {\r
- if (o_size == n_size)\r
- return ptr;\r
- \r
- void *dest = realloc(ptr,n_size);\r
- //don't fail if we requested size 0\r
- if (dest == NULL && n_size > 0 )\r
- B_ERROR("urecalloc error");\r
- // Initialize the new area with 0\r
- void * n_area_start = &(((char*) dest)[o_size]);\r
- // memset(n_area_start,0, n_size - o_size);\r
- for(size_t i = 0; i < n_size - o_size;i++)\r
- ((char *) n_area_start)[i] = 0;\r
- return dest;\r
- }\r
-\r
-inline void *ucalloc(size_t nmemb, size_t size)\r
- {\r
- void * dest = calloc(nmemb,size);\r
- //don't fail if we requested size 0\r
- if (dest == NULL && nmemb > 0 && size > 0 )\r
- B_ERROR("ucalloc error");\r
- return dest;\r
- }\r
-\r
-inline void *umalloc(size_t size) \r
- {\r
- void * dest = malloc(size);\r
- if (dest == NULL && size > 0)\r
- B_ERROR("umaloc error");\r
- return dest;\r
- }\r
-\r
-#endif\r