AryaWu/sqlite
0
1/*2** 2008 October 283**4** The author disclaims copyright to this source code. In place of5** a legal notice, here is a blessing:6**7** May you do good and not evil.8** May you find forgiveness for yourself and forgive others.9** May you share freely, never taking more than you give.10**11*************************************************************************12**13** This file contains a no-op memory allocation drivers for use when14** SQLITE_ZERO_MALLOC is defined. The allocation drivers implemented15** here always fail. SQLite will not operate with these drivers. These16** are merely placeholders. Real drivers must be substituted using17** sqlite3_config() before SQLite will operate.18*/19#include "sqliteInt.h"20 21/*22** This version of the memory allocator is the default. It is23** used when no other memory allocator is specified using compile-time24** macros.25*/26#ifdef SQLITE_ZERO_MALLOC27 28/*29** No-op versions of all memory allocation routines30*/31static void *sqlite3MemMalloc(int nByte){ return 0; }32static void sqlite3MemFree(void *pPrior){ return; }33static void *sqlite3MemRealloc(void *pPrior, int nByte){ return 0; }34static int sqlite3MemSize(void *pPrior){ return 0; }35static int sqlite3MemRoundup(int n){ return n; }36static int sqlite3MemInit(void *NotUsed){ return SQLITE_OK; }37static void sqlite3MemShutdown(void *NotUsed){ return; }38 39/*40** This routine is the only routine in this file with external linkage.41**42** Populate the low-level memory allocation function pointers in43** sqlite3GlobalConfig.m with pointers to the routines in this file.44*/45void sqlite3MemSetDefault(void){46 static const sqlite3_mem_methods defaultMethods = {47 sqlite3MemMalloc,48 sqlite3MemFree,49 sqlite3MemRealloc,50 sqlite3MemSize,51 sqlite3MemRoundup,52 sqlite3MemInit,53 sqlite3MemShutdown,54 055 };56 sqlite3_config(SQLITE_CONFIG_MALLOC, &defaultMethods);57}58 59#endif /* SQLITE_ZERO_MALLOC */60 