Changeset 4958:2d8a28f3d87f in roaraudio


Ignore:
Timestamp:
05/14/11 00:29:58 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

Added simple memmgr (memory Manager) code.

Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    r4956 r4958  
    1010        * Done some libroardsp header cleanup (Closes: #36) 
    1111        * Use zlib for gzip and zlib format (Closes: #29) 
     12        * Added simple memmgr (memory Manager) code. 
    1213 
    1314v. 0.4beta5 - Tue Apr 26 2011 08:42 CEST 
  • configure

    r4941 r4958  
    15121512 
    15131513#                 def                 name      call                         -- header 
     1514test_func_defmake ROAR_HAVE_MALLOC    malloc    'malloc(0)'                  -- stdlib.h 
     1515test_func_defmake ROAR_HAVE_CALLOC    calloc    'calloc(0, 0)'               -- stdlib.h 
     1516test_func_defmake ROAR_HAVE_REALLOC   realloc   'realloc((void*)0, 0)'       -- stdlib.h 
     1517test_func_defmake ROAR_HAVE_FREE      free      'free((void*)0)'             -- stdlib.h 
     1518test_func_defmake ROAR_HAVE_STRDUP    strdup    'strdup((void*)0)'           -- string.h 
     1519test_func_defmake ROAR_HAVE_STRNDUP   strndup   'strndup((void*)0)'          -- string.h 
     1520test_func_defmake ROAR_HAVE_STRLEN    strlen    'strlen((void*)0)'           -- string.h 
     1521test_func_defmake ROAR_HAVE_STRNLEN   strnlen   'strnlen((void*)0)'          -- string.h 
    15141522test_func_defmake ROAR_HAVE_SETENV    setenv    'setenv("", "", 0)'          -- stdlib.h 
    15151523test_func_defmake ROAR_HAVE_PUTENV    putenv    'putenv("")'                 -- stdlib.h 
  • include/libroar/memmgr.h

    r4790 r4958  
    3939#include "libroar.h" 
    4040 
     41#ifndef ROAR_USE_MEMMGR 
     42#if !defined(ROAR_HAVE_MALLOC) || !defined(ROAR_HAVE_CALLOC) || !defined(ROAR_HAVE_REALLOC) || !defined(ROAR_HAVE_FREE) 
     43#define ROAR_USE_MEMMGR 
     44#endif 
     45#endif 
     46 
    4147#ifdef ROAR_USE_MEMMGR 
    4248// those functions are currently not implemeted: 
    4349void * roar_mm_calloc(size_t nmemb, size_t size); 
    4450void * roar_mm_malloc(size_t size); 
    45 void   roar_mm_free(void *ptr); 
     51int    roar_mm_free(void *ptr); 
    4652void * roar_mm_realloc(void *ptr, size_t size); 
    47 char * roar_mm_strdup(const char *s); 
    4853 
    4954/* 
     
    5762#define roar_mm_free(ptr)           free((ptr)) 
    5863#define roar_mm_realloc(ptr, size)  realloc((ptr), (size)) 
    59 #define roar_mm_strdup(str)         strdup((str)) 
    6064#endif 
    6165 
     
    101105void * roar_mm_memdup(const void * s, size_t len); 
    102106 
     107// string functions: 
     108#ifndef ROAR_HAVE_STRLEN 
     109ssize_t roar_mm_strlen(const char *s); 
     110#else 
     111#define roar_mm_strlen(str) strlen((str)) 
     112#endif 
     113 
     114ssize_t roar_mm_strnlen(const char *s, size_t maxlen); 
     115 
     116#if defined(ROAR_USE_MEMMGR) || !defined(ROAR_HAVE_STRDUP) 
     117char * roar_mm_strdup(const char *s); 
     118#else 
     119#define roar_mm_strdup(str)         strdup((str)) 
     120#endif 
     121 
     122#if defined(ROAR_USE_MEMMGR) || !defined(ROAR_HAVE_STRNDUP) 
     123char *roar_mm_strndup(const char *s, size_t n); 
     124#else 
     125#define roar_mm_strndup(str, size)         strdup((str), (size)) 
     126#endif 
     127 
    103128#endif 
    104129 
  • libroar/Makefile

    r4956 r4958  
    1111PASSWORD=passwordapi.o pinentry.o sshaskpass.o 
    1212CRYPTO=crypto.o random.o $(HASHES) crc.o 
    13 OBJS=libroar.o config.o debug.o error.o basic.o stream.o client.o simple.o auth.o socket.o ctl.o buffer.o meta.o file.o acl.o cdrom.o $(PASSWORD) $(VIO) stack.o slp.o nnode.o roardl.o roarx11.o beep.o proto.o env.o keyval.o vs.o ltm.o notify.o notify_proxy.o asyncctl.o enumdev.o serverinfo.o $(CRYPTO) authfile.o caps.o roarfloat.o base64.o trap.o 
     13OBJS=libroar.o config.o debug.o error.o basic.o stream.o client.o simple.o auth.o socket.o ctl.o buffer.o meta.o file.o acl.o cdrom.o $(PASSWORD) $(VIO) stack.o slp.o nnode.o roardl.o roarx11.o beep.o proto.o env.o keyval.o vs.o ltm.o notify.o notify_proxy.o asyncctl.o enumdev.o serverinfo.o $(CRYPTO) authfile.o caps.o roarfloat.o base64.o trap.o memmgr.o 
    1414 
    1515#DEFINES        = -DDEBUG 
  • libroar/libroar.c

    r4945 r4958  
    9999} 
    100100 
    101 void * roar_mm_memdup(const void * s, size_t len) { 
    102  void * ret = roar_mm_malloc(len); 
    103  
    104  if ( ret == NULL ) 
    105   return NULL; 
    106  
    107  memcpy(ret, s, len); 
    108  
    109  return ret; 
    110 } 
    111  
    112101int roar_usleep(uint_least32_t t) { 
    113102#ifdef ROAR_TARGET_WIN32 
Note: See TracChangeset for help on using the changeset viewer.