source: git/kernel/mmstd.c @ 3a67ea7

spielwiese
Last change on this file since 3a67ea7 was 3e5387, checked in by Hans Schönemann <hannes@…>, 17 years ago
*hannes: static builds fixed git-svn-id: file:///usr/local/Singular/svn/trunk@9955 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.3 KB
Line 
1/****************************************
2*  Computer Algebra System SINGULAR     *
3****************************************/
4/* $Id: mmstd.c,v 1.4 2007-03-21 17:45:27 Singular Exp $ */
5/*
6* ABSTRACT: standard version of C-memory management alloc func
7* i.e. (malloc/realloc/free)
8*/
9
10#include "mod2.h"
11
12#define OM_NO_MALLOC_MACROS
13#ifdef ix86_Win
14#define OMALLOC_USES_MALLOC
15#endif
16#ifdef ppcMac_darwin
17#define OMALLOC_USES_MALLOC
18#endif
19#ifdef ix86Mac_darwin
20#define OMALLOC_USES_MALLOC
21#endif
22#include "omalloc.h"
23#include "../Singular/static.h"
24
25// we provide these functions, so that the settings of OM_CHECK
26// and OM_TRACK are used, but only provide them if omalloc is not based
27// on them
28// already provided in libomalloc
29#if !defined(OMALLOC_USES_MALLOC) && !defined(X_OMALLOC) && !defined(HAVE_STATIC)
30
31// define this so that all addr allocated there are marked
32// as static, i.e. not metioned by omPrintUsedAddr
33#define OM_MALLOC_MARK_AS_STATIC
34#define strdup_ strdup__
35#include <omalloc.c>
36#else
37#include <stdlib.h>
38void freeSize(void* addr, size_t size)
39{
40  if (addr) free(addr);
41}
42
43void* reallocSize(void* old_addr, size_t old_size, size_t new_size)
44{
45  if (old_addr && new_size)
46  {
47   return realloc(old_addr, new_size);
48  }
49  else 
50  {
51    freeSize(old_addr, old_size);
52    return malloc(new_size);
53  }
54}
55#endif
56
Note: See TracBrowser for help on using the repository browser.