From owner-freebsd-current Mon Jun 1 16:19:59 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA05505 for freebsd-current-outgoing; Mon, 1 Jun 1998 16:19:59 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from mail.westbend.net (ns1.westbend.net [207.217.224.194]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA05488 for ; Mon, 1 Jun 1998 16:19:54 -0700 (PDT) (envelope-from hetzels@westbend.net) Received: from admin (admin.westbend.net [207.217.224.195]) by mail.westbend.net (8.8.8/8.8.8) with SMTP id SAA10744; Mon, 1 Jun 1998 18:19:47 -0500 (CDT) (envelope-from hetzels@westbend.net) Message-ID: <046601bd8db3$c49fa0a0$c3e0d9cf@admin.westbend.net> From: "Scot W. Hetzel" To: "Mike Smith" Cc: Subject: Re: ppp cannot find libalias Date: Mon, 1 Jun 1998 18:19:46 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG From: Mike Smith >Not even the hint cache. Note that this is the a.out rtld; I don't >know (yet) where to look for the ELF one. > Mike, I cleaned up your code, I HATE goto's. Scot anon_open(); + if (path == NULL) + return NULL; + + /* If path is not qualified, search for it on the standard searchpath */ + name = (strchr(path, '/') != NULL) ? strdup(path) : rtfindfile(path); + /* Map the object, and the objects on which it depends */ smp = map_object(path, (struct sod *) NULL, (struct so_map *) NULL); - if(smp == NULL) /* Failed */ - return NULL; + if(smp != NULL) /* Succeeded */ { LM_PRIVATE(smp)->spd_flags |= RTLD_DL; /* Relocate and initialize all newly-mapped objects */ - if(link_map_tail != old_tail) { /* We have mapped some new objects */ + if(link_map_tail != old_tail) && (reloc_dag(smp, bind_now) != -1) - if(reloc_dag(smp, bind_now) == -1) /* Failed */ - return NULL; init_dag(smp); else + smp = NULL; -} unmaphints(); anon_close(); } + free(name); return smp; } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message