4 ** The author disclaims copyright to this source code. In place of
5 ** a legal notice, here is a blessing:
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.
11 *************************************************************************
13 ** This file contains a no-op memory allocation drivers for use when
14 ** SQLITE_ZERO_MALLOC is defined. The allocation drivers implemented
15 ** here always fail. SQLite will not operate with these drivers. These
16 ** are merely placeholders. Real drivers must be substituted using
17 ** sqlite3_config() before SQLite will operate.
19 #include "sqliteInt.h"
22 ** This version of the memory allocator is the default. It is
23 ** used when no other memory allocator is specified using compile-time
26 #ifdef SQLITE_ZERO_MALLOC
29 ** No-op versions of all memory allocation routines
31 static void *sqlite3MemMalloc(int nByte
){ return 0; }
32 static void sqlite3MemFree(void *pPrior
){ return; }
33 static void *sqlite3MemRealloc(void *pPrior
, int nByte
){ return 0; }
34 static int sqlite3MemSize(void *pPrior
){ return 0; }
35 static int sqlite3MemRoundup(int n
){ return n
; }
36 static int sqlite3MemInit(void *NotUsed
){ return SQLITE_OK
; }
37 static void sqlite3MemShutdown(void *NotUsed
){ return; }
40 ** This routine is the only routine in this file with external linkage.
42 ** Populate the low-level memory allocation function pointers in
43 ** sqlite3GlobalConfig.m with pointers to the routines in this file.
45 void sqlite3MemSetDefault(void){
46 static const sqlite3_mem_methods defaultMethods
= {
56 sqlite3_config(SQLITE_CONFIG_MALLOC
, &defaultMethods
);
59 #endif /* SQLITE_ZERO_MALLOC */