view help2html/must.c @ 6:607e3be6bad8

Adjust to the moving target called the C++ standard. Apparently nowadays it's not allowed to define an explicit copy constructor but not an assignment operator. Consequently, defining the explicit copy constructor in terms of the implicit/automatic assignment operator for general convenience no longer works. Add assignment operators. Caution: not tested with the IBM compiler, but there's no particular reason it shouldn't work.
author David A. Holland
date Mon, 30 May 2022 23:46:22 -0400
parents 13d2b8934445
children
line wrap: on
line source

#include <stdlib.h>
#include <err.h>
#include "must.h"

void *must_malloc(size_t len) {
  void *x = malloc(len);
  if (!x) {
    errx(1, "Out of memory");
  }
  return x;
}

void *must_realloc(void *ptr, size_t len) {
  void *x = realloc(ptr, len);
  if (!x) {
    errx(1, "Out of memory");
  }
  return x;
}