⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_malloc.c

📁 虽然mysql已经在.NET平台上提供了支持
💻 C
字号:
/* 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"#include <m_string.h>	/* My memory allocator */gptr my_malloc(unsigned int Size, myf MyFlags){  gptr point;  DBUG_ENTER("my_malloc");  DBUG_PRINT("my",("Size: %u  MyFlags: %d",Size, MyFlags));  if (!Size)    Size=1;					/* Safety */  if ((point = malloc(Size)) == NULL)  {    my_errno=errno;    if (MyFlags & MY_FAE)      error_handler_hook=fatal_error_handler_hook;    if (MyFlags & (MY_FAE+MY_WME))      my_error(EE_OUTOFMEMORY, MYF(ME_BELL+ME_WAITTANG),Size);    if (MyFlags & MY_FAE)      exit(1);  }  else if (MyFlags & MY_ZEROFILL)    bzero(point,Size);  DBUG_PRINT("exit",("ptr: %lx",point));  DBUG_RETURN(point);} /* my_malloc */	/* Free memory allocated with my_malloc */	/*ARGSUSED*/void my_no_flags_free(gptr ptr){  DBUG_ENTER("my_free");  DBUG_PRINT("my",("ptr: %lx",ptr));  if (ptr)    free(ptr);  DBUG_VOID_RETURN;} /* my_free */	/* malloc and copy */gptr my_memdup(const byte *from, uint length, myf MyFlags){  gptr ptr;  if ((ptr=my_malloc(length,MyFlags)) != 0)    memcpy((byte*) ptr, (byte*) from,(size_t) length);  return(ptr);}my_string my_strdup(const char *from, myf MyFlags){  gptr ptr;  uint length=(uint) strlen(from)+1;  if ((ptr=my_malloc(length,MyFlags)) != 0)    memcpy((byte*) ptr, (byte*) from,(size_t) length);  return((my_string) ptr);}

⌨️ 快捷键说明

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