Esempio n. 1
0
File: ribify.c Progetto: Pferd/ribs2
void *_ribified_realloc(void *ptr, size_t size) {
    if (NULL == ptr) return _ribified_malloc(size);
    if (memalloc_is_mine(&current_ctx->memalloc, ptr))
        --current_ctx->ribify_memalloc_refcount; // consider mine as freed
    size_t old_size = *(uint32_t *)(ptr - sizeof(uint32_t));
    void *mem = _ribified_malloc(size);
    memcpy(mem, ptr, size > old_size ? old_size : size);
    return mem;
}
Esempio n. 2
0
File: ribify.c Progetto: Pferd/ribs2
char *_ribified_strdup(const char *s) {
    size_t l = strlen(s) + 1;
    char *mem = _ribified_malloc(l);
    memcpy(mem, s, l);
    return mem;
}
Esempio n. 3
0
File: ribify.c Progetto: Pferd/ribs2
void *_ribified_calloc(size_t nmemb, size_t size) {
    size_t s = nmemb * size;
    void *mem = _ribified_malloc(s);
    memset(mem, 0, s);
    return mem;
}
Esempio n. 4
0
char *_ribified_wcsdup(const wchar_t *s) {
    size_t l = (wcslen(s) + 1) * sizeof(wchar_t);
    char *mem = _ribified_malloc(l);
    memcpy(mem, s, l);
    return mem;
}