OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
analyse_memory.c
Go to the documentation of this file.
1//Copyright> OpenRadioss
2//Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3//Copyright>
4//Copyright> This program is free software: you can redistribute it and/or modify
5//Copyright> it under the terms of the GNU Affero General Public License as published by
6//Copyright> the Free Software Foundation, either version 3 of the License, or
7//Copyright> (at your option) any later version.
8//Copyright>
9//Copyright> This program is distributed in the hope that it will be useful,
10//Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11//Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12//Copyright> GNU Affero General Public License for more details.
13//Copyright>
14//Copyright> You should have received a copy of the GNU Affero General Public License
15//Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16//Copyright>
17//Copyright>
18//Copyright> Commercial Alternative: Altair Radioss Software
19//Copyright>
20//Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21//Copyright> software under a commercial license. Contact Altair to discuss further if the
22//Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23/* gw45a1
24#include <malloc.h>
25#include <stdio.h>
26#include <string.h>
27*//* ls41k17+1 *//*
28#include <stdlib.h> */ /* for tequila's malloc *//*
29*/
30#include <stdlib.h>
31#if CPP_mach != CPP_macosx64
32#include <malloc.h>
33#endif
34#include <stdio.h>
35#include <string.h>
36
37#include "analyse_memory.h"
38
39void *analyse_malloc(size_t size)
40{
41 if (size == 0)
42 return NULL;
43
44 return malloc(size);
45}
46
47
48void *analyse_realloc(void *block, size_t size)
49{
50 if(block == NULL)
51 return analyse_malloc(size);
52 else
53 return realloc(block, size);
54}
55
56
57void *analyse_calloc( size_t nitems, size_t size)
58{
59 return calloc(nitems, size);
60}
61
62
63void analyse_free(void *block)
64{
65 if( block == NULL)
66 return;
67
68 free(block);
69
70}
71void *analyse_recalloc(void *block, size_t nitems, size_t size)
72{
73 void *array ;
74
75 array = (void *)calloc(nitems, size) ;
76
77 if (array == NULL)
78 {
79 printf("Not enough memory left...\n") ;
80 return (array) ;
81 }
82
83 if (sizeof(block) <= sizeof(array))
84 {
85 array = memcpy(array, block, sizeof(block)) ;
86 }
87 else
88 {
89 array = memcpy(array, block, sizeof(array)) ;
90
91 }
92
93 free(block) ;
94
95 return (array) ;
96}
void * analyse_calloc(size_t nitems, size_t size)
void * analyse_recalloc(void *block, size_t nitems, size_t size)
void * analyse_malloc(size_t size)
void analyse_free(void *block)
void * analyse_realloc(void *block, size_t size)