File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sqlite3 / src / mem0.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:04:17 2012 UTC (12 years, 7 months ago) by misho
Branches: sqlite3, MAIN
CVS tags: v3_7_10, HEAD
sqlite3

    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>