home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga Shareware Floppies / ma64.dms / ma64.adf / FTPMount-1.0 / Source / verify.h < prev   
C/C++ Source or Header  |  1995-09-06  |  2KB  |  69 lines

  1. /*
  2.  * This source file is Copyright 1995 by Evan Scott.
  3.  * All rights reserved.
  4.  * Permission is granted to distribute this file provided no
  5.  * fees beyond distribution costs are levied.
  6.  */
  7.  
  8. #ifdef VERIFY
  9. /* #include <exec/lists.h>
  10.    #include <exec/nodes.h> */
  11.  
  12. #define magic_verify    unsigned long    magic
  13. #define MAGIC 0x49a72fc0
  14. #define verify(x,y)    { if ((x)->magic!=(y)) verify_alert(__FILE__,__LINE__,#x,#y); }
  15. #define ensure(x,y)    ((x)->magic=(y))
  16. #define truth(x)    { if (!(x)) truth_alert(__FILE__,__LINE__,#x); }
  17. #define falsity(x)    { if (x) false_alert(__FILE__,__LINE__,#x); }
  18. #define show_int(x)    int_alert(__FILE__,__LINE__,#x, (int)x);
  19. #define show_string(x)    string_alert(__FILE__,__LINE__,#x, x);
  20.  
  21. void verify_alert(char *, int, char *, char *);
  22. void truth_alert(char *, int, char *);
  23. void false_alert(char *, int, char *);
  24. void int_alert(char *, int, char *, int);
  25. void string_alert(char *, int, char *, char *);
  26.  
  27. #define allocate(x,y)    track_malloc(x,y,0,__FILE__,__LINE__,#x,#y)
  28. #define allocate_flags(x,f,y)    track_malloc(x,y,f,__FILE__,__LINE__,#x,#y)
  29. #define deallocate(x,y)    track_free(x,y,__FILE__,__LINE__,#x,#y)
  30. #define disown(x,y) track_disown(x,y,__FILE__,__LINE__,#x,#y)
  31. #define adopt(x,y) track_adopt(x,y,__FILE__,__LINE__,#x,#y)
  32. #define mem_tracking_on() track_init()
  33. #define check_memory() track_check()
  34.  
  35. struct bink {
  36.    struct bink *next;
  37.    struct bink **prev;
  38.    unsigned long size;
  39.    unsigned long type;
  40.    int line;
  41.    char *file, *typename;
  42. };
  43.  
  44. void *track_malloc(int, unsigned long, unsigned long, char *, int, char *, char *);
  45. void track_free(void *, unsigned long, char *, int, char *, char *);
  46. void track_disown(void *, unsigned long, char *, int, char *, char *);
  47. void track_adopt(void *, unsigned long, char *, int, char *, char *);
  48. void track_init(void);
  49. void track_check(void);
  50.  
  51. #else
  52. #define magic_verify    char nothing[0]
  53. #define MAGIC 0x49a72fc0
  54. #define verify(x,y)
  55. #define ensure(x,y)
  56. #define truth(x)
  57. #define falsity(x)
  58. #define show_int(x)
  59. #define show_string(x)
  60.  
  61. #define allocate(x,y)    AllocVec(x, 0)
  62. #define allocate_flags(x,f,y)    AllocVec(x,f)
  63. #define deallocate(x,y)    FreeVec(x)
  64. #define disown(x,y)
  65. #define adopt(x,y)
  66. #define mem_tracking_on() 
  67. #define check_memory() 
  68. #endif
  69.