From df4ef2ab9c0899b2670067cd97e58f7eb2913e00 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 6 Jan 1997 22:07:28 +0000 Subject: update from main archive 960105 --- elf/dl-error.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'elf/dl-error.c') diff --git a/elf/dl-error.c b/elf/dl-error.c index 55d9c2fc93..52eb577eb0 100644 --- a/elf/dl-error.c +++ b/elf/dl-error.c @@ -1,5 +1,5 @@ /* Error handling for runtime dynamic linker. - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -76,21 +76,22 @@ _dl_catch_error (char **errstring, void (*operate) (void)) { int errcode; - struct catch c = { errstring: NULL, objname: NULL }; + struct catch *old, c = { errstring: NULL, objname: NULL }; + old = catch; errcode = setjmp (c.env); if (errcode == 0) { catch = &c; (*operate) (); - catch = NULL; + catch = old; *errstring = NULL; *objname = NULL; return 0; } /* We get here only if we longjmp'd out of OPERATE. */ - catch = NULL; + catch = old; *errstring = c.errstring; *objname = c.objname; return errcode == -1 ? 0 : errcode; -- cgit v1.2.3