view anagram/ag1/cppalloc.cpp @ 7:57b2cc9b87f7

Use memcpy instead of strncpy when we know the length anyway. Modern gcc seems to think it knows how to detect misuse of strncpy, but it's wrong (in fact: very, very wrong) and the path of least resistance is to not try to fight with it.
author David A. Holland
date Mon, 30 May 2022 23:47:52 -0400
parents 7661c1604e49
children
line wrap: on
line source

#include <stddef.h>
#include "port.h"

#include "myalloc.h"

/*
 * With the IBM compiler these apparently may not be in a .lib file.
 */

void *operator new(size_t size) {
  //newCalls++;
  void *pointer = myalloc(size);
  return pointer;
}

void operator delete(void *p) {
  //deleteCalls++;
  DEALLOCATE(p);
}

void operator delete(void *p, size_t) {
  //deleteCalls++;
  DEALLOCATE(p);
}

void *operator new[](size_t size) {
  //newArrayCalls++;
  void *pointer = myalloc(size);
  return pointer;
}

void operator delete[](void *p) {
  //deleteArrayCalls++;
  DEALLOCATE(p);
}

void operator delete[](void *p, size_t) {
  //deleteArrayCalls++;
  DEALLOCATE(p);
}