source: git/kernel/mmstd.c @ 8c5988

spielwiese
Last change on this file since 8c5988 was 30b8381, checked in by Hans Schönemann <hannes@…>, 20 years ago
*hannes: betti and weights (from 2-0-5) git-svn-id: file:///usr/local/Singular/svn/trunk@7267 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/****************************************
2*  Computer Algebra System SINGULAR     *
3****************************************/
4/* $Id: mmstd.c,v 1.2 2004-07-16 08:43:00 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#include "omalloc.h"
20
21// we provide these functions, so that the settings of OM_CHECK
22// and OM_TRACK are used, but only provide them if omalloc is not based
23// on them
24// already provided in libomalloc
25#if !defined(OMALLOC_USES_MALLOC) && !defined(X_OMALLOC)
26
27// define this so that all addr allocated there are marked
28// as static, i.e. not metioned by omPrintUsedAddr
29#define OM_MALLOC_MARK_AS_STATIC
30#define strdup_ strdup__
31#include <omalloc.c>
32#else
33#include <stdlib.h>
34void freeSize(void* addr, size_t size)
35{
36  if (addr) free(addr);
37}
38
39void* reallocSize(void* old_addr, size_t old_size, size_t new_size)
40{
41  if (old_addr && new_size)
42  {
43   return realloc(old_addr, new_size);
44  }
45  else 
46  {
47    freeSize(old_addr, old_size);
48    return malloc(new_size);
49  }
50}
51#endif
52
Note: See TracBrowser for help on using the repository browser.