]> git.ozlabs.org Git - ccan/blobdiff - ccan/alloc/tiny.c
alloc: remove unused debugging function.
[ccan] / ccan / alloc / tiny.c
index b965eb471b329f9ff4108513f0cf10a6796c8928..d782899de3d0639c11bd67d6a54a7f42e1d04f60 100755 (executable)
@@ -152,13 +152,13 @@ static bool long_enough(unsigned long offset, unsigned long len,
 
 static unsigned long find_free_end(unsigned char *arr, unsigned long arrsize)
 {
-       unsigned long end;
+       long i;
 
-       for (end = 0; end < arrsize; end++) {
-               if (!arr[end])
-                       break;
+       for (i = arrsize-1; i >= 0; i--) {
+               if (arr[i])
+                       return i + 1;
        }
-       return end;
+       return 0;
 }
 
 void *tiny_alloc_get(void *pool, unsigned long poolsize,
@@ -186,7 +186,7 @@ void *tiny_alloc_get(void *pool, unsigned long poolsize,
                if (long_enough(off, len, size, align)) {
                        /* Move every successive entry down. */
                        memmove(arr + fa_off, arr + fa_off + fa_hdrlen,
-                               freelen - fa_hdrlen);
+                               freelen - (fa_off + fa_hdrlen));
                        memset(arr + freelen - fa_hdrlen, 0, fa_hdrlen);
                        goto found;
                }