Annotation of embedaddon/sqlite3/src/mem0.c, revision 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>