diff options
Diffstat (limited to 'src/bin/main.c')
| -rw-r--r-- | src/bin/main.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/bin/main.c b/src/bin/main.c index a7acc77..5861843 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -45,34 +45,34 @@ my_malloc(size_t size) } static void * -my_alloc(size_t min, size_t max, size_t *actual) +my_alloc(size_t size, size_t *actual) { - size_t target = min; + size_t target = size; void *p; - if(NEVER(target == 0)) - target = 1; - else{ - target--; - target |= target >> 1; - target |= target >> 2; - target |= target >> 4; - target |= target >> 8; - target |= target >> 16; - target |= target >> 32; - target++; + if(actual){ + if(NEVER(target == 0)) + target = 1; + else{ + target--; + target |= target >> 1; + target |= target >> 2; + target |= target >> 4; + target |= target >> 8; + target |= target >> 16; + target |= target >> 32; + target++; + } } - if(max && (target > max)) - target = max; - p = my_malloc(target); - if((p == NULL) && (min < target)){ - target = min; + if((p == NULL) && (size < target)){ + target = size; p = my_malloc(target); } - *actual = target; + if(actual) + *actual = target; return p; } |