diff options
Diffstat (limited to 'shells/bash2/patches/patch-ac')
-rw-r--r-- | shells/bash2/patches/patch-ac | 80 |
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); - } |