/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1985-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* David Korn <[email protected]> *18* Phong Vo <[email protected]> *19* *20***********************************************************************/21#include <vmalloc.h>2223/*24* vm open/close/resize - a handy default for discipline memory functions25*26* vmgetmem(0,0,0) open new region27* vmgetmem(r,0,0) free region28* vmgetmem(r,0,n) allocate n bytes initialized to 029* vmgetmem(r,p,0) free p30* vmgetmem(r,p,n) realloc p to n bytes31*32* Written by Glenn S. Fowler.33*/3435#if __STD_C36Void_t* vmgetmem(Vmalloc_t* vm, Void_t* data, size_t size)37#else38Void_t* vmgetmem(vm, data, size)39Vmalloc_t* vm;40Void_t* data;41size_t size;42#endif43{44if (!vm)45return vmopen(Vmdcheap, Vmbest, 0);46if (data || size)47return vmresize(vm, data, size, VM_RSMOVE|VM_RSCOPY|VM_RSZERO);48vmclose(vm);49return 0;50}515253