summaryrefslogtreecommitdiffstats
path: root/system/csh/remove_publib_dep.diff
diff options
context:
space:
mode:
Diffstat (limited to 'system/csh/remove_publib_dep.diff')
-rw-r--r--system/csh/remove_publib_dep.diff54
1 files changed, 54 insertions, 0 deletions
diff --git a/system/csh/remove_publib_dep.diff b/system/csh/remove_publib_dep.diff
new file mode 100644
index 0000000000..948fa72714
--- /dev/null
+++ b/system/csh/remove_publib_dep.diff
@@ -0,0 +1,54 @@
+diff -Naur csh-20230828/Makefile csh-20230828.patched/Makefile
+--- csh-20230828/Makefile 2023-09-19 03:56:12.687978921 -0400
++++ csh-20230828.patched/Makefile 2023-09-19 04:21:16.198719211 -0400
+@@ -8,7 +8,7 @@
+ SRCS= alloc.c char.c const.c csh.c dir.c dol.c error.c exec.c exp.c file.c \
+ func.c glob.c hist.c init.c lex.c misc.c parse.c proc.c \
+ sem.c set.c str.c time.c
+-LDADD+= -lbsd -lpub
++LDADD+= -lbsd
+
+ CLEANFILES+=error.h const.h
+
+diff -Naur csh-20230828/alloc.c csh-20230828.patched/alloc.c
+--- csh-20230828/alloc.c 2023-08-28 05:51:57.000000000 -0400
++++ csh-20230828.patched/alloc.c 2023-09-19 04:21:16.198719211 -0400
+@@ -89,3 +89,15 @@
+ }
+ return (n);
+ }
++
++void *
++xrealloc(void *p, size_t n)
++{
++ void *ptr;
++
++ if ((ptr = realloc(p, n)) == NULL) {
++ child++;
++ stderror(ERR_NOMEM);
++ }
++ return (ptr);
++}
+diff -Naur csh-20230828/extern.h csh-20230828.patched/extern.h
+--- csh-20230828/extern.h 2023-08-28 05:51:57.000000000 -0400
++++ csh-20230828.patched/extern.h 2023-09-19 04:24:42.595566353 -0400
+@@ -284,6 +284,7 @@
+ void *xreallocarray(void *, size_t, size_t);
+ void *xcalloc(size_t, size_t);
+ char *xstrdup(const char *);
++void *xrealloc(void *p, size_t n);
+
+ /*
+ * str.c:
+diff -Naur csh-20230828/glob.c csh-20230828.patched/glob.c
+--- csh-20230828/glob.c 2023-09-19 03:56:12.707979197 -0400
++++ csh-20230828.patched/glob.c 2023-09-19 04:22:08.760444266 -0400
+@@ -455,7 +455,7 @@
+ * Output is empty, or none of the magic patterns matched.
+ * It's up to the caller to generate a "No match" error.
+ */
+- xfree(nv);
++ if(nv) free(nv);
+ return (NULL);
+ }
+ *nvp = NULL;