~ubuntu-branches/ubuntu/karmic/python-scipy/karmic

« back to all changes in this revision

Viewing changes to Lib/xplt/src/play/all/mm.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel T. Chen (new)
  • Date: 2005-03-16 02:15:29 UTC
  • Revision ID: james.westby@ubuntu.com-20050316021529-xrjlowsejs0cijig
Tags: upstream-0.3.2
ImportĀ upstreamĀ versionĀ 0.3.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * mm.c -- $Id: mm.c,v 1.1 2003/03/08 15:26:47 travo Exp $
 
3
 *
 
4
 * load default function pointers for pstdlib.h interface
 
5
 * p_mminit and p_mmdebug override these defaults
 
6
 * purpose of this file is so if p_mminit or p_mmdebug never called,
 
7
 *   code should run with system memory manager without loading bmm
 
8
 *
 
9
 * Copyright (c) 1998.  See accompanying LEGAL file for details.
 
10
 */
 
11
 
 
12
#include "config.h"
 
13
#include "pstdlib.h"
 
14
 
 
15
static void *p__malloc(size_t);
 
16
static void  p__free(void *);
 
17
static void *p__realloc(void *, size_t);
 
18
 
 
19
void *(*p_malloc)(size_t)= &p__malloc;
 
20
void  (*p_free)(void *)=   &p__free;
 
21
void *(*p_realloc)(void *, size_t)= &p__realloc;
 
22
 
 
23
static void *p__mmfail(unsigned long n);
 
24
void *(*p_mmfail)(unsigned long n)= &p__mmfail;
 
25
 
 
26
long p_nallocs = 0;
 
27
long p_nfrees = 0;
 
28
long p_nsmall = 0;
 
29
long p_asmall = 0;
 
30
 
 
31
p_twkspc p_wkspc;
 
32
 
 
33
static void *
 
34
p__malloc(size_t n)
 
35
{
 
36
  void *p = malloc(n>0? n : 1);
 
37
  if (!p) return p_mmfail(n>0? n : 1);
 
38
  p_nallocs++;
 
39
  return p;
 
40
}
 
41
 
 
42
static void
 
43
p__free(void *p)
 
44
{
 
45
  if (p) {
 
46
    p_nfrees++;
 
47
    free(p);
 
48
  }
 
49
}
 
50
 
 
51
static void *
 
52
p__realloc(void *p, size_t n)
 
53
{
 
54
  if (n<=0) n = 1;
 
55
  p = p? realloc(p,n) : malloc(n);
 
56
  return p? p : p_mmfail(n);
 
57
}
 
58
 
 
59
/* ARGSUSED */
 
60
static void *
 
61
p__mmfail(unsigned long n)
 
62
{
 
63
  return 0;
 
64
}