summaryrefslogtreecommitdiff
path: root/shells/bash2/patches/patch-ac
diff options
context:
space:
mode:
Diffstat (limited to 'shells/bash2/patches/patch-ac')
-rw-r--r--shells/bash2/patches/patch-ac80
1 files changed, 0 insertions, 80 deletions
diff --git a/shells/bash2/patches/patch-ac b/shells/bash2/patches/patch-ac
deleted file mode 100644
index 3818a702500..00000000000
--- a/shells/bash2/patches/patch-ac
+++ /dev/null
@@ -1,80 +0,0 @@
-$NetBSD: patch-ac,v 1.5 2001/08/30 13:56:28 mrg Exp $
-
---- unwind_prot.c.orig Wed Feb 14 23:00:55 2001
-+++ unwind_prot.c Thu Aug 30 11:24:44 2001
-@@ -51,7 +51,7 @@
- points to this. */
- typedef struct {
- int *variable;
-- char *desired_setting;
-+ UWP desired_setting;
- int size;
- } SAVED_VAR;
-
-@@ -280,8 +280,9 @@
- discard_saved_var (sv)
- SAVED_VAR *sv;
- {
-- if (sv->size != sizeof (int))
-- free (sv->desired_setting);
-+ if (sv->size != sizeof (int) && sv->size != sizeof (short) &&
-+ sv->size != sizeof (char *))
-+ free (sv->desired_setting.p);
- free (sv);
- }
-
-@@ -293,13 +294,16 @@
- restore_variable (sv)
- SAVED_VAR *sv;
- {
-- if (sv->size != sizeof (int))
-- {
-- FASTCOPY ((char *)sv->desired_setting, (char *)sv->variable, sv->size);
-- free (sv->desired_setting);
-- }
-- else
-- *(sv->variable) = (int)sv->desired_setting;
-+ if (sv->size == sizeof (int))
-+ *(int *)(sv->variable) = sv->desired_setting.i;
-+ else if (sv->size == sizeof (short))
-+ *(short *)(sv->variable) = sv->desired_setting.s;
-+ else if (sv->size == sizeof (char *))
-+ *(char **)(sv->variable) = sv->desired_setting.p;
-+ else {
-+ FASTCOPY ((char *)sv->desired_setting.p, (char *)sv->variable, sv->size);
-+ free (sv->desired_setting.p);
-+ }
-
- free (sv);
- }
-@@ -312,19 +316,22 @@
- void
- unwind_protect_var (var, value, size)
- int *var;
-- char *value;
-+ UWP *value;
- int size;
- {
- SAVED_VAR *s = (SAVED_VAR *)xmalloc (sizeof (SAVED_VAR));
-
- s->variable = var;
-- if (size != sizeof (int))
-- {
-- s->desired_setting = (char *)xmalloc (size);
-- FASTCOPY (value, (char *)s->desired_setting, size);
-- }
-- else
-- s->desired_setting = value;
-+ if (size == sizeof (int)) {
-+ s->desired_setting.i = value->i;
-+ } else if (size == sizeof (short)) {
-+ s->desired_setting.s = value->s;
-+ } else if (size == sizeof (char *)) {
-+ s->desired_setting.p = value->p;
-+ } else {
-+ s->desired_setting.p = (char *)xmalloc (size);
-+ FASTCOPY (value, (char *)s->desired_setting.p, size);
-+ }
- s->size = size;
- add_unwind_protect ((Function *)restore_variable, (char *)s);
- }