/* Change the size of a block allocated by `mmalloc'. */
-/* Copyright (c) 2010-2020. The SimGrid Team.
+/* Copyright (c) 2010-2022. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
}
if ((char *) ptr < (char *) mdp->heapbase || BLOCK(ptr) > mdp->heapsize) {
- printf("FIXME. Ouch, this pointer is not mine, refusing to proceed (another solution would be to malloc "
- "it instead of reallocing it, see source code)\n");
+ // Don't trust xbt_assert and friends in malloc-level library, you fool!
+ fprintf(stderr, "This pointer is not mine, refusing to realloc it (maybe you wanted to malloc it instead?)\n");
abort();
}
result = mmalloc(mdp, size);
memcpy(result, ptr, requested_size);
mfree(mdp, ptr);
- return (result);
+ return result;
}
/* Full blocks -> Full blocks; see if we can hold it in place. */
default: /* Fragment -> ??; type=logarithm to base two of the fragment size. */
- if (type < 0) {
+ if (type <= 0) {
fprintf(stderr, "Unknown mmalloc block type.\n");
abort();
}
- if (size > (size_t) (1 << (type - 1)) && size <= (size_t) (1 << type)) {
+ if (size > ((size_t)1 << (type - 1)) && size <= ((size_t)1 << type)) {
/* The new size is the same kind of fragment. */
result = ptr;
}
break;
}
- return (result);
+ return result;
}