cutil/emalloc.cpp

Go to the documentation of this file.
00001 
00019 /* =================
00020  Include Files and Type Defines
00021  ==================== */
00022 #include "emalloc.h"
00023 #include "danerror.h"
00024 #include <stdlib.h>
00025 
00026 /* =================
00027      Public Code
00028  ==================== */
00029 /* =============================== */
00045 void *Emalloc(size_t Size) { 
00046   void *Buffer;
00047 
00048   if (Size <= 0)
00049     DoError (ILLEGALMALLOCREQUEST, "Illegal malloc request size");
00050   Buffer = (void *) malloc (Size);
00051   if (Buffer == NULL) {
00052     DoError (NOTENOUGHMEMORY, "Not enough memory");
00053     return (NULL);
00054   }
00055   else
00056     return (Buffer);
00057 
00058 }                                /* Emalloc */
00059 
00060 
00061 /* =============================== */
00069 void *Erealloc(void *ptr, size_t size) { 
00070   void *Buffer;
00071 
00072   if (size < 0 || (size == 0 && ptr == NULL))
00073     DoError (ILLEGALMALLOCREQUEST, "Illegal realloc request size");
00074 
00075   Buffer = (void *) realloc (ptr, size);
00076   if (Buffer == NULL && size != 0)
00077     DoError (NOTENOUGHMEMORY, "Not enough memory");
00078   return (Buffer);
00079 
00080 }                                /* Erealloc */
00081 
00082 
00083 /* =============================== */
00090 void Efree(void *ptr) { 
00091   if (ptr == NULL)
00092     DoError (ILLEGALMALLOCREQUEST, "Attempted to free NULL ptr");
00093 
00094   free(ptr); 
00095 
00096 }                                /* Efree */

Generated on Wed Feb 28 19:49:10 2007 for Tesseract by  doxygen 1.5.1