luamem.c 729 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. ** mem.c
  3. ** TecCGraf - PUC-Rio
  4. */
  5. char *rcs_mem = "$Id: mem.c,v 1.3 1994/12/20 21:20:36 roberto Exp roberto $";
  6. #include <stdlib.h>
  7. #include "mem.h"
  8. #include "lua.h"
  9. void luaI_free (void *block)
  10. {
  11. *((int *)block) = -1; /* to catch errors */
  12. free(block);
  13. }
  14. void *luaI_malloc (unsigned long size)
  15. {
  16. void *block = malloc((size_t)size);
  17. if (block == NULL)
  18. lua_error("not enough memory");
  19. return block;
  20. }
  21. void *luaI_realloc (void *oldblock, unsigned long size)
  22. {
  23. void *block = realloc(oldblock, (size_t)size);
  24. if (block == NULL)
  25. lua_error("not enough memory");
  26. return block;
  27. }
  28. char *luaI_strdup (char *str)
  29. {
  30. char *newstr = luaI_malloc(strlen(str)+1);
  31. strcpy(newstr, str);
  32. return newstr;
  33. }