7 inline void ufread(void *ptr, size_t size, size_t nmemb, FILE *stream)
\r
10 res = fread(ptr,size,nmemb,stream);
\r
12 throw "ufread I/O error";
\r
16 inline void ufwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
\r
19 res = fwrite(ptr,size,nmemb,stream);
\r
21 throw "ufwrite I/O error";
\r
25 inline void *urealloc(void *ptr, size_t size)
\r
27 void *dest = realloc(ptr,size);
\r
28 //don't fail if we requested size 0
\r
29 if (dest == NULL && size > 0 )
\r
30 throw std::bad_alloc();
\r
34 inline void *ucalloc(size_t nmemb, size_t size)
\r
36 void * dest = calloc(nmemb,size);
\r
37 //don't fail if we requested size 0
\r
38 if (dest == NULL && nmemb > 0 && size > 0 )
\r
39 throw std::bad_alloc();
\r
43 inline void *umalloc(size_t size)
\r
45 void * dest = malloc(size);
\r
46 if (dest == NULL && size > 0)
\r
47 throw std::bad_alloc();
\r