Changeset View
Changeset View
Standalone View
Standalone View
extern/opennurbs/opennurbs_public_memory.cpp
- This file was added.
| /* $NoKeywords: $ */ | |||||
| /* | |||||
| // | |||||
| // Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. | |||||
| // OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert | |||||
| // McNeel & Associates. | |||||
| // | |||||
| // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. | |||||
| // ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF | |||||
| // MERCHANTABILITY ARE HEREBY DISCLAIMED. | |||||
| // | |||||
| // For complete openNURBS copyright information see <http://www.opennurbs.org>. | |||||
| // | |||||
| //////////////////////////////////////////////////////////////// | |||||
| */ | |||||
| #include "opennurbs.h" | |||||
| #if !defined(ON_COMPILING_OPENNURBS) | |||||
| // This check is included in all opennurbs source .c and .cpp files to insure | |||||
| // ON_COMPILING_OPENNURBS is defined when opennurbs source is compiled. | |||||
| // When opennurbs source is being compiled, ON_COMPILING_OPENNURBS is defined | |||||
| // and the opennurbs .h files alter what is declared and how it is declared. | |||||
| #error ON_COMPILING_OPENNURBS must be defined when compiling opennurbs | |||||
| #endif | |||||
| #if defined(OPENNURBS_IMPORTS) | |||||
| #error opennurbs_public_memory.c must not be compiled with OPENNURBS_IMPORTS defined. | |||||
| #endif | |||||
| void* onmalloc_forever(size_t sz) | |||||
| { | |||||
| return onmalloc(sz); | |||||
| } | |||||
| void* onmalloc( size_t sz ) | |||||
| { | |||||
| void* p; | |||||
| p = (sz > 0) ? malloc(sz) : 0; | |||||
| return p; | |||||
| } | |||||
| void* oncalloc( size_t num, size_t sz ) | |||||
| { | |||||
| void* p; | |||||
| p = (num > 0 && sz > 0) ? calloc(num,sz) : 0; | |||||
| return p; | |||||
| } | |||||
| void onfree( void* memblock ) | |||||
| { | |||||
| if ( 0 != memblock ) | |||||
| free(memblock); | |||||
| } | |||||
| void* onrealloc( void* memblock, size_t sz ) | |||||
| { | |||||
| if (0 == memblock) | |||||
| return onmalloc(sz); | |||||
| if (sz <= 0) | |||||
| { | |||||
| onfree(memblock); | |||||
| return 0; | |||||
| } | |||||
| return realloc(memblock, sz); | |||||
| } | |||||