tesseract
5.0.0-alpha-619-ge9db
emalloc.cpp
Go to the documentation of this file.
1
/**************************************************************************
2
* Filename: emalloc.cpp
3
* Purpose: Routines for trapping memory allocation errors.
4
* Author: Dan Johnson
5
**
6
** (c) Copyright Hewlett-Packard Company, 1988.
7
** Licensed under the Apache License, Version 2.0 (the "License");
8
** you may not use this file except in compliance with the License.
9
** You may obtain a copy of the License at
10
** http://www.apache.org/licenses/LICENSE-2.0
11
** Unless required by applicable law or agreed to in writing, software
12
** distributed under the License is distributed on an "AS IS" BASIS,
13
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
** See the License for the specific language governing permissions and
15
** limitations under the License.
16
******************************************************************************/
17
18
#include "
emalloc.h
"
19
#include <cstdlib>
20
#include "
errcode.h
"
// for ASSERT_HOST
21
31
void
*
Emalloc
(
int
Size) {
32
ASSERT_HOST
(Size > 0);
33
void
* Buffer = malloc(Size);
34
ASSERT_HOST
(Buffer !=
nullptr
);
35
return
Buffer;
36
}
37
38
void
*
Erealloc
(
void
*ptr,
int
size) {
39
ASSERT_HOST
(size > 0 || (size == 0 && ptr !=
nullptr
));
40
void
* Buffer = realloc(ptr, size);
41
ASSERT_HOST
(Buffer !=
nullptr
|| size == 0);
42
return
Buffer;
43
}
44
45
void
Efree
(
void
*ptr) {
46
ASSERT_HOST
(ptr !=
nullptr
);
47
free(ptr);
48
}
emalloc.h
Emalloc
void * Emalloc(int Size)
Definition:
emalloc.cpp:31
ASSERT_HOST
#define ASSERT_HOST(x)
Definition:
errcode.h:87
Erealloc
void * Erealloc(void *ptr, int size)
Definition:
emalloc.cpp:38
Efree
void Efree(void *ptr)
Definition:
emalloc.cpp:45
errcode.h
src
cutil
emalloc.cpp
Generated on Thu Jan 30 2020 14:22:20 for tesseract by
1.8.16