From b0d746aba6a1350b4161dd33a339e7d7536437d7 Mon Sep 17 00:00:00 2001 From: Cy Schubert Date: Tue, 18 Feb 2025 16:10:56 -0800 Subject: [PATCH] shells/44bsd-csh: Replace local functions with malloc functions Local functions called sbrk(2) directly. sbrk(2) will disappear at some point. Removing it now reduces the sbrk footprint and allows other architectures that do not support sbrk(2) to install this port. --- shells/44bsd-csh/Makefile | 2 +- shells/44bsd-csh/files/patch-alloc.c | 64 ++++++++++++++++++++++++++++ shells/44bsd-csh/files/patch-csh.h | 17 ++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 shells/44bsd-csh/files/patch-alloc.c create mode 100644 shells/44bsd-csh/files/patch-csh.h diff --git a/shells/44bsd-csh/Makefile b/shells/44bsd-csh/Makefile index 51dbcc217d66..b7de07bd02f3 100644 --- a/shells/44bsd-csh/Makefile +++ b/shells/44bsd-csh/Makefile @@ -1,6 +1,6 @@ PORTNAME= 44bsd-csh PORTVERSION= 20001106 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= shells MASTER_SITES= LOCAL/cy diff --git a/shells/44bsd-csh/files/patch-alloc.c b/shells/44bsd-csh/files/patch-alloc.c new file mode 100644 index 000000000000..67a61d3183b1 --- /dev/null +++ b/shells/44bsd-csh/files/patch-alloc.c @@ -0,0 +1,64 @@ +--- alloc.c.orig 2025-02-18 15:59:35.263097000 -0800 ++++ alloc.c 2025-02-18 16:02:58.402654000 -0800 +@@ -55,61 +55,6 @@ + char *memtop = NULL; /* PWP: top of current memory */ + char *membot = NULL; /* PWP: bottom of allocatable memory */ + +-ptr_t +-Malloc(n) +- size_t n; +-{ +- ptr_t ptr; +- +- if (membot == NULL) +- memtop = membot = sbrk(0); +- if ((ptr = malloc(n)) == (ptr_t) 0) { +- child++; +- stderror(ERR_NOMEM); +- } +- return (ptr); +-} +- +-ptr_t +-Realloc(p, n) +- ptr_t p; +- size_t n; +-{ +- ptr_t ptr; +- +- if (membot == NULL) +- memtop = membot = sbrk(0); +- if ((ptr = realloc(p, n)) == (ptr_t) 0) { +- child++; +- stderror(ERR_NOMEM); +- } +- return (ptr); +-} +- +-ptr_t +-Calloc(s, n) +- size_t s, n; +-{ +- ptr_t ptr; +- +- if (membot == NULL) +- memtop = membot = sbrk(0); +- if ((ptr = calloc(s, n)) == (ptr_t) 0) { +- child++; +- stderror(ERR_NOMEM); +- } +- +- return (ptr); +-} +- +-void +-Free(p) +- ptr_t p; +-{ +- if (p) +- free(p); +-} +- + /* + * mstats - print out statistics about malloc + * diff --git a/shells/44bsd-csh/files/patch-csh.h b/shells/44bsd-csh/files/patch-csh.h new file mode 100644 index 000000000000..e69698ed338a --- /dev/null +++ b/shells/44bsd-csh/files/patch-csh.h @@ -0,0 +1,17 @@ +--- csh.h.orig 2025-02-18 15:59:35.265140000 -0800 ++++ csh.h 2025-02-18 16:04:08.969313000 -0800 +@@ -86,10 +86,10 @@ + #include "char.h" + #include "errnum.h" + +-#define xmalloc(i) Malloc(i) +-#define xrealloc(p, i) Realloc(p, i) +-#define xcalloc(n, s) Calloc(n, s) +-#define xfree(p) Free(p) ++#define xmalloc(i) malloc(i) ++#define xrealloc(p, i) realloc(p, i) ++#define xcalloc(n, s) calloc(n, s) ++#define xfree(p) free(p) + + #include + FILE *cshin, *cshout, *csherr;