summaryrefslogtreecommitdiff
path: root/src/bin/main.c
diff options
context:
space:
mode:
authorpeter <peter@pmikkelsen.com>2026-09-04 20:40:22 +0000
committerpeter <peter@pmikkelsen.com>2026-09-04 20:40:22 +0000
commitea03b44757f3d4fc5e17a96cc74ff2d3d8a317ec (patch)
treee1bc7da2042ab935041a77504357aa2f39b1b9ed /src/bin/main.c
parentd7c80ae3c76f2dd2e2ce3a39602fa7f04776d9c2 (diff)
Simplify the alloc callback function
FossilOrigin-Name: a08c14408099c9287646e3fcac0df8dfa04d23cd08273f6b17abe7bff79e0942
Diffstat (limited to 'src/bin/main.c')
-rw-r--r--src/bin/main.c38
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;
}