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)42 void *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)57 void *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)71 void FreeMemory(void *ptr)
72 {
73 	free(ptr);
74 } //end of the function FreeMemory
75 
76 /*
77 =================
78 PrintMemorySize
79 =================
80 */
PrintMemorySize(unsigned long size)81 void 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