diff options
| author | Mosder <xmosder12@gmail.com> | 2026-08-17 11:57:36 +0200 |
|---|---|---|
| committer | Mosder <xmosder12@gmail.com> | 2026-08-17 11:57:36 +0200 |
| commit | db24efc8c918b323145825735b51f574c6855f00 (patch) | |
| tree | 58a04a38281caff323ff45695ce9a034e7daa9fc /src/mem/alloc.c | |
| parent | 674fb098ddf9daa173c4e579c84275e943445e5a (diff) | |
feat: added ability to redefine ARR_INIT_CAP and MAX_ALLOC_ATTEMPTS
Diffstat (limited to 'src/mem/alloc.c')
| -rw-r--r-- | src/mem/alloc.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/mem/alloc.c b/src/mem/alloc.c index 7a85d2d..60da131 100644 --- a/src/mem/alloc.c +++ b/src/mem/alloc.c @@ -1,4 +1,4 @@ -#define MOSLIB_FORCE_PREFIXES +#define MOS_FORCE_PREFIXES #include "moslib/mem/alloc.h" #include <stdio.h> @@ -7,39 +7,39 @@ #define ERR_MESS(fl, ln, fn, msg) "%s:%d - error in function %s:\n%s\n", fl, ln, fn, msg -void *mos_safe_malloc_fn(size_t size, const char *file, int line, const char *func) { - for (size_t i = 0; i < MOS_MAX_ALLOC_ATTEMPTS; i++) { +void *mos_safe_malloc_fn(size_t size, size_t att, const char *file, int line, const char *func) { + for (size_t i = 0; i < att; i++) { void *p = malloc(size); if (p) return p; - if (i < MOS_MAX_ALLOC_ATTEMPTS - 1) { + if (i < att - 1) { fprintf(stderr, ERR_MESS(file, line, func, "malloc failed - retrying in 1s...")); sleep(1); } } char errmes[64]; - sprintf(errmes, "FATAL: malloc failed %d times - exiting...", MOS_MAX_ALLOC_ATTEMPTS); + sprintf(errmes, "FATAL: malloc failed %zu times - exiting...", att); fprintf(stderr, ERR_MESS(file, line, func, errmes)); exit(EXIT_FAILURE); } -void *mos_safe_realloc_fn(void *ptr, size_t size, const char *file, int line, const char *func) { +void *mos_safe_realloc_fn(void *ptr, size_t size, size_t att, const char *file, int line, const char *func) { if (!ptr) - return mos_safe_malloc_fn(size, file, line, func); + return mos_safe_malloc_fn(size, att, file, line, func); - for (size_t i = 0; i < MOS_MAX_ALLOC_ATTEMPTS; i++) { + for (size_t i = 0; i < att; i++) { void *p = realloc(ptr, size); if (p) return p; - if (i < MOS_MAX_ALLOC_ATTEMPTS - 1) { + if (i < att - 1) { fprintf(stderr, ERR_MESS(file, line, func, "realloc failed - retrying in 1s...")); sleep(1); } } char errmes[64]; - sprintf(errmes, "FATAL: realloc failed %d times - exiting...", MOS_MAX_ALLOC_ATTEMPTS); + sprintf(errmes, "FATAL: realloc failed %zu times - exiting...", att); fprintf(stderr, ERR_MESS(file, line, func, errmes)); exit(EXIT_FAILURE); } |
