diff --git a/src/sys/lib/kmalloc.c b/src/sys/lib/kmalloc.c index e52dd7f..834ccc1 100644 --- a/src/sys/lib/kmalloc.c +++ b/src/sys/lib/kmalloc.c @@ -272,9 +272,8 @@ tmpDesc1->next = usedKernDesc; if (usedKernDesc != 0x0) usedKernDesc->prev = tmpDesc1; - usedKernDesc = tmpDesc1; - - if (tmpDesc1->limit > (len + 32)) { + usedKernDesc = tmpDesc1; + if (tmpDesc1->limit > len) { tmpDesc2 = getEmptyDesc(); assert(tmpDesc2); tmpDesc2->limit = tmpDesc1->limit - len; @@ -303,7 +302,7 @@ if (usedKernDesc != 0x0) usedKernDesc->prev = tmpDesc1; usedKernDesc = tmpDesc1; - + if (((pages * 4096)-len) > 0x0) { tmpDesc2 = getEmptyDesc(); assert(tmpDesc2); @@ -315,6 +314,7 @@ kprintf("kmalloc-2 tmpDesc2: [%i]\n",tmpDesc2->limit); insertFreeDesc(tmpDesc2); } + buf = (char *)tmpDesc1->baseAddr; for (i=0;ilimit;i++) { (char)buf[i] = (char)0x0; @@ -381,6 +381,9 @@ /*** $Log$ + Revision 1.26 2004/09/11 22:33:13 reddawg + minor changes + Revision 1.25 2004/09/11 12:11:11 reddawg Cleaning up the VFS more changes to follow...