- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / sqlite / src / src / mem0.c
1 /*
2 ** 2008 October 28
3 **
4 ** The author disclaims copyright to this source code.  In place of
5 ** 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 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.
18 */
19 #include "sqliteInt.h"
20
21 /*
22 ** This version of the memory allocator is the default.  It is
23 ** used when no other memory allocator is specified using compile-time
24 ** macros.
25 */
26 #ifdef SQLITE_ZERO_MALLOC
27
28 /*
29 ** No-op versions of all memory allocation routines
30 */
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; }
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 in
43 ** sqlite3GlobalConfig.m with pointers to the routines in this file.
44 */
45 void sqlite3MemSetDefault(void){
46   static const sqlite3_mem_methods defaultMethods = {
47      sqlite3MemMalloc,
48      sqlite3MemFree,
49      sqlite3MemRealloc,
50      sqlite3MemSize,
51      sqlite3MemRoundup,
52      sqlite3MemInit,
53      sqlite3MemShutdown,
54      0
55   };
56   sqlite3_config(SQLITE_CONFIG_MALLOC, &defaultMethods);
57 }
58
59 #endif /* SQLITE_ZERO_MALLOC */