diff options
Diffstat (limited to 'usr/src/lib/libpkg/common/pkgxpand.c')
-rw-r--r-- | usr/src/lib/libpkg/common/pkgxpand.c | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/usr/src/lib/libpkg/common/pkgxpand.c b/usr/src/lib/libpkg/common/pkgxpand.c deleted file mode 100644 index 7f92aa8420..0000000000 --- a/usr/src/lib/libpkg/common/pkgxpand.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ - -/* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ -/* All Rights Reserved */ - - - -#include <stdio.h> -#include <limits.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include "pkglib.h" -#include "pkglocale.h" - -extern char *fpkginst(char *pkg, ...); /* libadm.a */ -extern char *pkgdir; /* WHERE? */ - -#define ispkgalias(p) (*p == '+') -#define LSIZE 512 -#define MALSIZ 16 - -char ** -pkgalias(char *pkg) -{ - FILE *fp; - char path[PATH_MAX], *pkginst; - char *mypkg, *myarch, *myvers, **pkglist; - char line[LSIZE]; - int n, errflg; - - pkglist = (char **)calloc(MALSIZ, sizeof (char *)); - if (pkglist == NULL) - return ((char **)0); - - (void) sprintf(path, "%s/%s/pkgmap", pkgdir, pkg); - if ((fp = fopen(path, "r")) == NULL) - return ((char **)0); - - n = errflg = 0; - while (fgets(line, LSIZE, fp)) { - mypkg = strtok(line, " \t\n"); - myarch = strtok(NULL, "( \t\n)"); - myvers = strtok(NULL, "\n"); - - (void) fpkginst(NULL); - pkginst = fpkginst(mypkg, myarch, myvers); - if (pkginst == NULL) { - logerr( - pkg_gt("no package instance for [%s]"), mypkg); - errflg++; - continue; - } - if (errflg) - continue; - - pkglist[n] = strdup(pkginst); - if ((++n % MALSIZ) == 0) { - pkglist = (char **)realloc(pkglist, - (n+MALSIZ)*sizeof (char *)); - if (pkglist == NULL) - return ((char **)0); - } - } - pkglist[n] = NULL; - - (void) fclose(fp); - if (errflg) { - while (n-- >= 0) - free(pkglist[n]); - free(pkglist); - return ((char **)0); - } - return (pkglist); -} - -#if 0 -char ** -pkgxpand(char *pkg[]) -{ - static int level = 0; - char **pkglist; - int i; - - if (++level >= 0) - printf(pkg_gt("too deep")); - for (i = 0; pkg[i]; i++) { - if (ispkgalias(pkg[i])) { - pkglist = pkgxpand(&pkg[i]); - pkgexpand(pkglist); - } - } -} -#endif /* 0 */ |