home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d07xx / d0744.lha / FO2 / Sources_FO2 / mem.c < prev    next >
C/C++ Source or Header  |  1992-10-12  |  1KB  |  77 lines

  1. #include "defs.h"
  2.  
  3. Prototype RendMem();
  4. Prototype RendAdrVar();
  5. Prototype FreeBusy();
  6. Prototype FreeDiskList();
  7.  
  8. RendMem()
  9. {
  10. LONG    *M=(void *)0x1;
  11. WORD    i=0;
  12.     if (VarAdr) {
  13.     if (VarAdr->BuffBitMap)
  14.     {
  15.         FreeMem(BBM,512L);
  16.         BBM=0L;
  17.     }
  18.     if (VarAdr->BuffTrack)
  19.     {
  20.         FreeMem(BT,11*512L);
  21.         BT=0L;
  22.     }
  23.     if (VarAdr->Empty)
  24.     {
  25.         FreeMem(VarAdr->Empty,512L);
  26.         VarAdr->Empty=0;
  27.     }
  28.     
  29.     i=0;
  30.     while (M)
  31.     {
  32.         M=(LONG *)(*VarAdr->TableMem)[i++];
  33.         if (M)
  34.         {
  35.             FreeMem(M,512L);
  36.             (*VarAdr->TableMem)[i-1]=0;
  37.         }
  38.         else break;
  39.     }
  40.     if (VarAdr->TableMem)
  41.     {FreeMem(VarAdr->TableMem,VarAdr->TotalBlocks*4+4); VarAdr->TableMem=0;} 
  42.     if (dsklist) FreeDiskList();
  43.     if (VarAdr->inCHIP) {FreeMem(VarAdr->inCHIP,512L); VarAdr->inCHIP=0;}
  44.     if (FPointer) {fclose(FPointer); FPointer=0;}
  45.     }
  46. }
  47.  
  48. RendAdrVar()
  49. {
  50.     if (VarAdr) {FreeMem(VarAdr,sizeof(struct var)); VarAdr=0;}
  51. }
  52.  
  53. FreeBusy()
  54. {
  55.     DiskBUSY(drivebusy,0);
  56. }
  57.  
  58. FreeDiskList()
  59. {
  60. struct DiskList *dlist;
  61. LONG    length=0;
  62. LONG    *tmp;
  63.  
  64.     dlist=dsklist;
  65.     do
  66.     {
  67.         length=Length(dlist);
  68.         tmp=dlist->dl_NextB;
  69.         if (dlist && length) FreeMem(dlist,length); 
  70.         dlist=tmp;
  71.     }
  72.     while (dlist->dl_NextB!=0);
  73.     FreeMem(dlist,Length(dlist));    
  74.     dsklist=0;
  75.  
  76. }
  77.