gwmem-native.c

来自「mms client」· C语言 代码 · 共 68 行

C
68
字号
/* * gwmem-native.h - memory managment wrapper functions, native flavor * * Lars Wirzenius */#include <stdlib.h>#include <errno.h>#include <string.h>#include "gwlib.h"/*  * In this module, we must use the real versions so let's undefine the * accident protectors.  */#undef malloc#undef realloc#undef freevoid *gw_native_noop(void *ptr) { return ptr; }void *gw_native_malloc(size_t size){    void *ptr;    /* ANSI C89 says malloc(0) is implementation-defined.  Avoid it. */    gw_assert(size > 0);    ptr = malloc(size);    if (ptr == NULL)        panic(errno, "Memory allocation failed");    return ptr;}void *gw_native_realloc(void *ptr, size_t size){    void *new_ptr;    gw_assert(size > 0);    new_ptr = realloc(ptr, size);    if (new_ptr == NULL)        panic(errno, "Memory re-allocation failed");    return new_ptr;}void gw_native_free(void *ptr){    free(ptr);}char *gw_native_strdup(const char *str){    char *copy;    gw_assert(str != NULL);    copy = gw_native_malloc(strlen(str) + 1);    strcpy(copy, str);    return copy;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?