diff options
author | Moriah Waterland <Moriah.Waterland@Sun.COM> | 2009-06-03 20:16:25 -0600 |
---|---|---|
committer | Moriah Waterland <Moriah.Waterland@Sun.COM> | 2009-06-03 20:16:25 -0600 |
commit | 5c51f1241dbbdf2656d0e10011981411ed0c9673 (patch) | |
tree | 0f30a2e38fe4e5d53a5a67264ba548577d82a86f /usr/src/lib/libpkg/common/logerr.c | |
parent | 2b79d384d32b4ea1e278466cd9b0f3bb56daae22 (diff) | |
download | illumos-joyent-5c51f1241dbbdf2656d0e10011981411ed0c9673.tar.gz |
6739234 move SVR4 packaging to ONNV gate
Diffstat (limited to 'usr/src/lib/libpkg/common/logerr.c')
-rw-r--r-- | usr/src/lib/libpkg/common/logerr.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/usr/src/lib/libpkg/common/logerr.c b/usr/src/lib/libpkg/common/logerr.c new file mode 100644 index 0000000000..7d304b059e --- /dev/null +++ b/usr/src/lib/libpkg/common/logerr.c @@ -0,0 +1,72 @@ +/* + * 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 <string.h> +#include <stdarg.h> +#include "pkglocale.h" + +/*VARARGS*/ +void +logerr(char *fmt, ...) +{ + va_list ap; + char *pt, buffer[2048]; + int flag; + char *estr = pkg_gt("ERROR:"); + char *wstr = pkg_gt("WARNING:"); + char *nstr = pkg_gt("NOTE:"); + + va_start(ap, fmt); + flag = 0; + /* This may have to use the i18n strcmp() routines. */ + if (strncmp(fmt, estr, strlen(estr)) && + strncmp(fmt, wstr, strlen(wstr)) && + strncmp(fmt, nstr, strlen(nstr))) { + flag++; + (void) fprintf(stderr, " "); + } + /* + * NOTE: internationalization in next line REQUIRES that caller of + * this routine be in the same internationalization domain + * as this library. + */ + (void) vsprintf(buffer, fmt, ap); + + va_end(ap); + + for (pt = buffer; *pt; pt++) { + (void) putc(*pt, stderr); + if (flag && (*pt == '\n') && pt[1]) + (void) fprintf(stderr, " "); + } + (void) putc('\n', stderr); +} |