Skip to content
Snippets Groups Projects
Select Git revision
  • labcomm2014
  • labcomm2006
  • master default
  • python_sig_hash
  • typedefs
  • anders.blomdell
  • typeref
  • pragma
  • compiler-refactoring
  • labcomm2013
  • v2014.6
  • v2015.0
  • v2014.5
  • v2014.4
  • v2006.0
  • v2014.3
  • v2014.2
  • v2014.1
  • v2014.0
  • v2013.0
20 results

labcomm_default_memory.c

Blame
  • labcomm_default_memory.c 1.34 KiB
    /*
      test_default_memory.c -- LabComm default memory allocator
    
      Copyright 2013 Anders Blomdell <anders.blomdell@control.lth.se>
    
      This file is part of LabComm.
    
      LabComm is free software: you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation, either version 3 of the License, or
      (at your option) any later version.
    
      LabComm is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.
    
      You should have received a copy of the GNU General Public License
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
    */
    
    #include <stdlib.h>
    #include "labcomm.h"
    #include "labcomm_private.h"
    
    void *default_alloc(struct labcomm_memory *m, int lifetime, size_t size)
    {
      return malloc(size);
    }
    
    void *default_realloc(struct labcomm_memory *m, int lifetime, 
    		      void *ptr, size_t size)
    {
      return realloc(ptr, size);
    }
    
    void default_free(struct labcomm_memory *m, int lifetime, void *ptr)
    {
      free(ptr);
    }
    
    struct labcomm_memory memory = {
      .alloc = default_alloc,
      .realloc = default_realloc,
      .free = default_free,
      .context = NULL
    };
    
    struct labcomm_memory *labcomm_default_memory = &memory;