home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / d / desklib / !DeskSrc / FN / Libraries / DeskMem / c / Error < prev    next >
Encoding:
Text File  |  1996-05-13  |  1.1 KB  |  41 lines

  1. #include "Desk.Debug.h"
  2. #include "Desk.Error2.h"
  3.  
  4. #include "Defs.h"
  5.  
  6.  
  7. #ifdef Desk_DeskLib_DEBUG
  8.     int    Desk_deskmem_debuglevel = 0;
  9. #endif
  10.  
  11. Desk_deskmem_errorblock    Desk_deskmem_globalerror = { 0, NULL };
  12.  
  13. #ifdef _DLL
  14. Desk_deskmem_errorblock*    Desk_DeskMem__Ref_errorblock( void)    { return &Desk_deskmem_globalerror;    }
  15. #endif
  16.  
  17.  
  18.  
  19. void*    Desk_DeskMem__HandleError( size_t size, void *oldptr)
  20. /*
  21. This sets up the global Desk_error2_block for the specified alloc parameters,
  22. and calls the Error2 handler. If this returns with the error handled, we
  23. return the new pointer, otherwise we return NULL.
  24.  */
  25. {
  26. Desk_Debug1_Printf( "Desk_DeskMem__XHandleError called. Size=%i, oldptr=%p\n", size, oldptr);
  27.  
  28. Desk_Error2_ClearErrorBlock( &Desk_Error2_globalblock);
  29.  
  30. Desk_Error2_globalblock.type        = Desk_error2_type_DESKMEM;
  31. Desk_Error2_globalblock.data.deskmem    = &Desk_deskmem_globalerror;
  32.  
  33. Desk_deskmem_globalerror.size    = size;
  34. Desk_deskmem_globalerror.ptr    = oldptr;
  35.  
  36. Desk_Error2_Handle( &Desk_Error2_globalblock);
  37. Desk_Debug_Printf( "Desk_DeskMem__XHandleError: Error handler has found memory.\n");
  38. return    Desk_Error2_globalblock.data.deskmem->ptr;
  39. }
  40.  
  41.