Annotation of embedaddon/sqlite3/src/mem0.c, revision 1.1.1.1

1.1       misho       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 */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>