summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorMiro Jurisic <meeroh@mit.edu>1999-01-22 21:21:42 +0000
committerMiro Jurisic <meeroh@mit.edu>1999-01-22 21:21:42 +0000
commita4ea51099df2366f56b359980e70a0b4aa9e0808 (patch)
tree415acd1cddd64b4115a8a19676b3e0df5be303ba /src/lib
parent5bdf281e5449fedd763eb5bef4082082b64dd9b4 (diff)
Resource chain mangling fix
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11120 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/os/DNR.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/krb5/os/DNR.c b/src/lib/krb5/os/DNR.c
index e44146db1..2a9b2da88 100644
--- a/src/lib/krb5/os/DNR.c
+++ b/src/lib/krb5/os/DNR.c
@@ -232,12 +232,17 @@ short OpenOurRF(void)
OSErr OpenResolver(char *fileName)
{
short refnum;
+ short saveResFile;
OSErr rc;
if (gDNRCodePtr != nil)
/* resolver already loaded in */
return(noErr);
+ /* Remember the resource file so that we do not switch current res file
+ under the caller */
+ saveResFile = CurResFile ();
+
/* open the MacTCP driver to get DNR resources. Search for it based on
creator & type rather than simply file name */
refnum = OpenOurRF();
@@ -250,6 +255,7 @@ OSErr OpenResolver(char *fileName)
if (gDNRCodeHndl == nil)
{
/* can't open DNR */
+ UseResFile (saveResFile);
return(ResError());
}
@@ -276,6 +282,8 @@ OSErr OpenResolver(char *fileName)
DisposeHandle(gDNRCodeHndl);
gDNRCodePtr = nil;
}
+
+ UseResFile (saveResFile);
return(rc);
}