my_realloc.c

来自「mysql的ODBC接口程序源代码。用ODBC连接mysql数据库」· C语言 代码 · 共 52 行

C
52
字号
/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB   This file is public domain and comes with NO WARRANTY of any kind */#ifdef SAFEMALLOC			/* We don't need SAFEMALLOC here */#undef SAFEMALLOC#endif#include "mysys_priv.h"#include "mysys_err.h"	/* My memory re allocator */gptr my_realloc(gptr oldpoint, uint Size, myf MyFlags){  gptr point;  DBUG_ENTER("my_realloc");  DBUG_PRINT("my",("ptr: %lx  Size: %u  MyFlags: %d",oldpoint, Size, MyFlags));  if (!oldpoint && (MyFlags & MY_ALLOW_ZERO_PTR))    DBUG_RETURN(my_malloc(Size,MyFlags));#ifdef USE_HALLOC  if (!(point = malloc(Size)))  {    if (MyFlags & MY_FREE_ON_ERROR)      my_free(oldpoint,MyFlags);    if (MyFlags & MY_HOLD_ON_ERROR)      DBUG_RETURN(oldpoint);    my_errno=errno;    if (MyFlags & MY_FAE+MY_WME)      my_error(EE_OUTOFMEMORY, MYF(ME_BELL+ME_WAITTANG),Size);  }  else  {    memcpy(point,oldpoint,Size);    free(oldpoint);  }#else  if ((point = realloc(oldpoint,Size)) == NULL)  {    if (MyFlags & MY_FREE_ON_ERROR)      my_free(oldpoint,MyFLAGS);    if (MyFlags & MY_HOLD_ON_ERROR)      DBUG_RETURN(oldpoint);    my_errno=errno;    if (MyFlags & (MY_FAE+MY_WME))      my_error(EE_OUTOFMEMORY, MYF(ME_BELL+ME_WAITTANG), Size);  }#endif  DBUG_PRINT("exit",("ptr: %lx",point));  DBUG_RETURN(point);} /* my_realloc */

⌨️ 快捷键说明

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