|
|
1.1 root 1: #include <stdio.h>
2: #include "filehdr.h"
3: #include "ldfcn.h"
4: #include "lddef.h"
5:
6: int
7: freeldptr(ldptr)
8:
9: LDFILE *ldptr;
10:
11: {
12: extern free( );
13:
14: extern LDLIST *_ldhead;
15:
16: LDLIST *ldindx;
17:
18: if (ldptr != NULL) {
19: if (_ldhead == (LDLIST *) ldptr) {
20: _ldhead = _ldhead->ld_next;
21: free(ldptr);
22: return(SUCCESS);
23: } else {
24: for (ldindx = _ldhead; ldindx != NULL; ldindx = ldindx->ld_next) {
25: if (ldindx->ld_next == (LDLIST *) ldptr) {
26: ldindx->ld_next = ((LDLIST *) ldptr)->ld_next;
27: free(ldptr);
28: return(SUCCESS);
29: }
30: }
31: }
32: }
33:
34: return(FAILURE);
35: }
36:
37: static char ID[ ] = "@(#) freeldptr.c: 1.1 1/7/82";
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.