1 // Copyright (C) 1999-2000 Id Software, Inc. 2 // 3 4 //=========================================================================== 5 // 6 // Name: l_memory.c 7 // Function: memory management 8 // Programmer: Mr Elusive 9 // Last update: 1997-12-16 10 // Tab Size: 3 11 //=========================================================================== 12 13 #include <stdlib.h> 14 #include "qcc.h" 15 #include "l_log.h" 16 17 18 #if 0 19 /* 20 ================= 21 MemorySize 22 ================= 23 */ 24 int MemorySize(void *ptr) 25 { 26 #ifdef __WATCOMC__ 27 //Intel 32 bits memory addressing, 16 bytes aligned 28 return (_msize(ptr) + 15) >> 4 << 4; 29 #else 30 #ifndef LCC 31 return _msize(ptr); 32 #endif 33 #endif 34 } //end of the function MemorySize 35 #endif 36 37 /* 38 ================= 39 GetClearedMemory 40 ================= 41 */ GetClearedMemory(int size)42void *GetClearedMemory(int size) 43 { 44 void *ptr; 45 46 ptr = (void *) malloc(size); 47 if (!ptr) Error("out of memory"); 48 memset(ptr, 0, size); 49 return ptr; 50 } //end of the function GetClearedMemory 51 52 /* 53 ================= 54 GetMemory 55 ================= 56 */ GetMemory(unsigned long size)57void *GetMemory(unsigned long size) 58 { 59 void *ptr; 60 ptr = malloc(size); 61 if (!ptr) 62 Error("out of memory"); 63 return ptr; 64 } //end of the function GetMemory 65 66 /* 67 ================= 68 FreeMemory 69 ================= 70 */ FreeMemory(void * ptr)71void FreeMemory(void *ptr) 72 { 73 free(ptr); 74 } //end of the function FreeMemory 75 76 /* 77 ================= 78 PrintMemorySize 79 ================= 80 */ PrintMemorySize(unsigned long size)81void PrintMemorySize(unsigned long size) 82 { 83 unsigned long number1, number2, number3; 84 number1 = size >> 20; 85 number2 = (size & 0xFFFFF) >> 10; 86 number3 = (size & 0x3FF); 87 if (number1) Log_Print("%ld MB", number1); 88 if (number2) Log_Print(" and %ld KB", number2); 89 if (number3) Log_Print(" and %ld bytes", number3); 90 } //end of the function PrintFileSize 91 92