/* objalloc.c -- routines to allocate memory for objects
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2024 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Solutions.
This program is free software; you can redistribute it and/or modify it
#include <stdlib.h>
#else
/* For systems with larger pointers than ints, this must be declared. */
-extern PTR malloc (size_t);
-extern void free (PTR);
+extern void *malloc (size_t);
+extern void free (void *);
#endif
#endif
if (ret == NULL)
return NULL;
- ret->chunks = (PTR) malloc (CHUNK_SIZE);
+ ret->chunks = (void *) malloc (CHUNK_SIZE);
if (ret->chunks == NULL)
{
free (ret);
/* Allocate space from an objalloc structure. */
-PTR
+void *
_objalloc_alloc (struct objalloc *o, unsigned long original_len)
{
unsigned long len = original_len;
{
o->current_ptr += len;
o->current_space -= len;
- return (PTR) (o->current_ptr - len);
+ return (void *) (o->current_ptr - len);
}
if (len >= BIG_REQUEST)
chunk->next = (struct objalloc_chunk *) o->chunks;
chunk->current_ptr = o->current_ptr;
- o->chunks = (PTR) chunk;
+ o->chunks = (void *) chunk;
- return (PTR) (ret + CHUNK_HEADER_SIZE);
+ return (void *) (ret + CHUNK_HEADER_SIZE);
}
else
{
o->current_ptr = (char *) chunk + CHUNK_HEADER_SIZE;
o->current_space = CHUNK_SIZE - CHUNK_HEADER_SIZE;
- o->chunks = (PTR) chunk;
+ o->chunks = (void *) chunk;
return objalloc_alloc (o, len);
}
recently allocated blocks. */
void
-objalloc_free_block (struct objalloc *o, PTR block)
+objalloc_free_block (struct objalloc *o, void *block)
{
struct objalloc_chunk *p, *small;
char *b = (char *) block;
if (first == NULL)
first = p;
- o->chunks = (PTR) first;
+ o->chunks = (void *) first;
/* Now start allocating from this small block again. */
o->current_ptr = b;
q = next;
}
- o->chunks = (PTR) p;
+ o->chunks = (void *) p;
while (p->current_ptr != NULL)
p = p->next;