}\r
\r
//far version of above\r
-void far* HC_LargestFarFreeBlock(unsigned long* Size)\r
+void __far* HC_LargestFarFreeBlock(dword* Size)\r
{\r
- unsigned long s0, s1;\r
- void far* p;\r
+ dword s0, s1;\r
+ void __far* p;\r
\r
- s0 = ~(unsigned long)0 ^ (~(unsigned long)0 >> 1);\r
+ s0 = ~(dword)0 ^ (~(dword)0 >> 1);\r
while (s0 && (p = _fmalloc(s0)) == NULL)\r
s0 >>= 1;\r
\r
}\r
\r
//far version of above\r
-unsigned long HC_farcoreleft(void)\r
+dword HC_farcoreleft(void)\r
{\r
- unsigned long total = 0UL;\r
- void far* pFirst = NULL;\r
- void far* pLast = NULL;\r
+ dword total = 0UL;\r
+ void __far* pFirst = NULL;\r
+ void __far* pLast = NULL;\r
for(;;)\r
{\r
- unsigned long largest;\r
- void far* p = HC_LargestFarFreeBlock(&largest);\r
- if (largest < sizeof(void far*))\r
+ dword largest;\r
+ void __far* p = HC_LargestFarFreeBlock(&largest);\r
+ if (largest < sizeof(void __far*))\r
{\r
if (p != NULL)\r
_ffree(p);\r
break;\r
}\r
- *(void far* far*)p = NULL;\r
+ *(void __far* __far*)p = NULL;\r
total += largest;\r
if (pFirst == NULL)\r
pFirst = p;\r
\r
if (pLast != NULL)\r
- *(void far* far*)pLast = p;\r
+ *(void __far* __far*)pLast = p;\r
pLast = p;\r
}\r
\r
while (pFirst != NULL)\r
{\r
- void far* p = *(void far* far*)pFirst;\r
+ void __far* p = *(void __far* __far*)pFirst;\r
_ffree(pFirst);\r
pFirst = p;\r
}\r
+\r
+ //if(total>16) total+=16; total &= 0xfffffff0UL;\r
return total;\r
}\r
\r
{\r
size_t largest;\r
void __based(segu)* p = LargestBasedFreeBlock(&largest);\r
- if (largest < sizeof(void far*))\r
+ if (largest < sizeof(void __far*))\r
{\r
if (p != NULL)\r
_ffree(p);\r
break;\r
}\r
- *(void far* far*)p = NULL;\r
+ *(void __far* __far*)p = NULL;\r
total += largest;\r
if (pFirst == NULL)\r
pFirst = p;\r
\r
if (pLast != NULL)\r
- *(void far* far*)pLast = p;\r
+ *(void __far* __far*)pLast = p;\r
pLast = p;\r
}\r
\r
while (pFirst != NULL)\r
{\r
- void far* p = *(void far* far*)pFirst;\r
+ void __far* p = *(void __far* __far*)pFirst;\r
_ffree(pFirst);\r
pFirst = p;\r
}\r
HCL_heapstat(hu->heap_status);\r
}\r
\r
-unsigned long HC_GetFarFreeSize(void)\r
+dword HC_GetFarFreeSize(void)\r
{\r
struct _heapinfo h_info;\r
hc_use_t hu;\r
#if 0\r
struct _heapinfo fh_info;\r
int heap_status;\r
- unsigned long fh_free=0, fh_total=0, fh_used=0;\r
+ dword fh_free=0, fh_total=0, fh_used=0;\r
\r
fh_info._pentry = NULL;\r
for(;;) {\r
\r
//++\r
#ifdef __WATCOMC__\r
-unsigned long farcoreleft()\r
+dword farcoreleft()\r
{\r
//---- _fheapgrow();\r
- return HC_farcoreleft();\r
+ // #ifdef __BORLANDC__\r
+// r 0x90000UL-16UL\r
+// #endif\r
+// printf("\nfarcoreleft()=%lu\n", HC_farcoreleft());\r
+\r
+//----\r
+ return 0x90000UL+16UL;\r
+//---- return 589824UL+16UL;\r
+//++++ return HC_farcoreleft();\r
//stack overflows return HC_GetFarFreeSize();\r
}\r
\r
-unsigned long coreleft()\r
+dword coreleft()\r
{\r
_nheapgrow();\r
return _memavl();\r