Module Name: src Committed By: rillig Date: Tue Aug 3 17:20:02 UTC 2021
Modified Files: src/usr.bin/xlint/common: mem.c Log Message: lint: make memory management code easier to read No functional change. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/usr.bin/xlint/common/mem.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/xlint/common/mem.c diff -u src/usr.bin/xlint/common/mem.c:1.15 src/usr.bin/xlint/common/mem.c:1.16 --- src/usr.bin/xlint/common/mem.c:1.15 Sun Aug 1 18:13:53 2021 +++ src/usr.bin/xlint/common/mem.c Tue Aug 3 17:20:02 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: mem.c,v 1.15 2021/08/01 18:13:53 rillig Exp $ */ +/* $NetBSD: mem.c,v 1.16 2021/08/03 17:20:02 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: mem.c,v 1.15 2021/08/01 18:13:53 rillig Exp $"); +__RCSID("$NetBSD: mem.c,v 1.16 2021/08/03 17:20:02 rillig Exp $"); #endif #include <stdarg.h> @@ -46,53 +46,41 @@ __RCSID("$NetBSD: mem.c,v 1.15 2021/08/0 #include "lint.h" -static void __attribute__((noreturn)) -nomem(void) +static void * +not_null(void *ptr) { - errx(1, "virtual memory exhausted"); + if (ptr == NULL) + errx(1, "virtual memory exhausted"); + return ptr; } void * xmalloc(size_t s) { - void *p; - if ((p = malloc(s)) == NULL) - nomem(); - return p; + return not_null(malloc(s)); } void * xcalloc(size_t n, size_t s) { - void *p; - if ((p = calloc(n, s)) == NULL) - nomem(); - return p; + return not_null(calloc(n, s)); } void * xrealloc(void *p, size_t s) { - void *n; - if ((n = realloc(p, s)) == NULL) { - free(p); - nomem(); - } - return n; + return not_null(realloc(p, s)); } char * xstrdup(const char *s) { - char *s2; - if ((s2 = strdup(s)) == NULL) - nomem(); - return s2; + return not_null(strdup(s)); } char * @@ -106,6 +94,6 @@ xasprintf(const char *fmt, ...) e = vasprintf(&str, fmt, ap); va_end(ap); if (e < 0) - nomem(); + not_null(NULL); return str; }