source: trunk/gsdl/packages/wv-0.5.44-gs/src/magick/memory.c@ 1468

Last change on this file since 1468 was 1468, checked in by paynter, 24 years ago

The wv Packages from www.wvware.com is used to convert Word documents into
HTML. This is an adaptation of wv version 0.5.44 for greenstone; it is
called by the gsConvert.pl script.

  • Property svn:keywords set to Author Date Id Revision
File size: 6.3 KB
Line 
1/*
2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3% %
4% %
5% %
6% M M EEEEE M M OOO RRRR Y Y %
7% MM MM E MM MM O O R R Y Y %
8% M M M EEE M M M O O RRRR Y %
9% M M E M M O O R R Y %
10% M M EEEEE M M OOO R R Y %
11% %
12% %
13% ImageMagick Memory Allocation Methods %
14% %
15% %
16% Software Design %
17% John Cristy %
18% July 1998 %
19% %
20% %
21% Copyright 1999 E. I. du Pont de Nemours and Company %
22% %
23% Permission is hereby granted, free of charge, to any person obtaining a %
24% copy of this software and associated documentation files ("ImageMagick"), %
25% to deal in ImageMagick without restriction, including without limitation %
26% the rights to use, copy, modify, merge, publish, distribute, sublicense, %
27% and/or sell copies of ImageMagick, and to permit persons to whom the %
28% ImageMagick is furnished to do so, subject to the following conditions: %
29% %
30% The above copyright notice and this permission notice shall be included in %
31% all copies or substantial portions of ImageMagick. %
32% %
33% The software is provided "as is", without warranty of any kind, express or %
34% implied, including but not limited to the warranties of merchantability, %
35% fitness for a particular purpose and noninfringement. In no event shall %
36% E. I. du Pont de Nemours and Company be liable for any claim, damages or %
37% other liability, whether in an action of contract, tort or otherwise, %
38% arising from, out of or in connection with ImageMagick or the use or other %
39% dealings in ImageMagick. %
40% %
41% Except as contained in this notice, the name of the E. I. du Pont de %
42% Nemours and Company shall not be used in advertising or otherwise to %
43% promote the sale, use or other dealings in ImageMagick without prior %
44% written authorization from the E. I. du Pont de Nemours and Company. %
45% %
46%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
47%
48%
49%
50*/
51
52
53/*
54 Include declarations.
55*/
56#include "magick.h"
57#include "defines.h"
58
59
60/*
61%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62% %
63% %
64% %
65% F r e e M e m o r y %
66% %
67% %
68% %
69%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70%
71% Method FreeMemory frees memory that has already been allocated.
72%
73% The format of the FreeMemory method is:
74%
75% void FreeMemory(void *memory)
76%
77% A description of each parameter follows:
78%
79% o span: Specifies the pointer to a block memory to free for reuse.
80%
81%
82*/
83Export void FreeMemory(void *memory)
84{
85 if (memory == (void *) NULL)
86 return;
87 free(memory);
88 memory=(void *)NULL;
89}
90
91Export void *AllocateMemory(const size_t size)
92{
93 return(malloc(size));
94}
95
96
97/*
98%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99% %
100% %
101% %
102% R e a l l o c a t e M e m o r y %
103% %
104% %
105% %
106%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107%
108% Method ReallocateMemory changes the size of the memory and returns a
109% pointer to the (possibly moved) block. The contents will be unchanged up
110% to the lesser of the new and old sizes.
111%
112% The format of the ReallocateMemory method is:
113%
114% void *ReallocateMemory(void *memory,const size_t size)
115%
116% A description of each parameter follows:
117%
118% o memory: Method ReallocateMemory returns a pointer to a block of at
119% least size bytes suitably aligned for any use.
120%
121% o size: Specifies the size of the memory to return.
122%
123%
124*/
125Export void *ReallocateMemory(void *memory,const size_t size)
126{
127 void
128 *new_memory;
129
130 new_memory=(void *) NULL;
131 if (size)
132 new_memory=realloc(memory,size);
133 if (new_memory == (void *) NULL)
134 FreeMemory(memory);
135 return(new_memory);
136}
137
Note: See TracBrowser for help on using the repository browser.