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 + -
显示快捷键?