opensolaris_cmn_err.c (213791) | opensolaris_cmn_err.c (228710) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 4 unchanged lines hidden (view full) --- 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 * | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 4 unchanged lines hidden (view full) --- 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 * |
21 * $FreeBSD: head/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c 213791 2010-10-13 17:13:43Z rpaulo $ | 21 * $FreeBSD: head/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c 228710 2011-12-19 14:55:14Z avg $ |
22 * 23 */ 24 25#include <sys/cmn_err.h> 26 27void 28vcmn_err(int ce, const char *fmt, va_list adx) 29{ 30 char buf[256]; | 22 * 23 */ 24 25#include <sys/cmn_err.h> 26 27void 28vcmn_err(int ce, const char *fmt, va_list adx) 29{ 30 char buf[256]; |
31 const char *prefix; |
|
31 | 32 |
33 prefix = NULL; /* silence unwitty compilers */ |
|
32 switch (ce) { 33 case CE_CONT: | 34 switch (ce) { 35 case CE_CONT: |
34 snprintf(buf, sizeof(buf), "Solaris(cont): %s\n", fmt); | 36 prefix = "Solaris(cont): "; |
35 break; 36 case CE_NOTE: | 37 break; 38 case CE_NOTE: |
37 snprintf(buf, sizeof(buf), "Solaris: NOTICE: %s\n", fmt); | 39 prefix = "Solaris: NOTICE: "; |
38 break; 39 case CE_WARN: | 40 break; 41 case CE_WARN: |
40 snprintf(buf, sizeof(buf), "Solaris: WARNING: %s\n", fmt); | 42 prefix = "Solaris: WARNING: "; |
41 break; 42 case CE_PANIC: | 43 break; 44 case CE_PANIC: |
43 snprintf(buf, sizeof(buf), "Solaris(panic): %s\n", fmt); | 45 prefix = "Solaris(panic): "; |
44 break; 45 case CE_IGNORE: 46 break; 47 default: 48 panic("Solaris: unknown severity level"); 49 } | 46 break; 47 case CE_IGNORE: 48 break; 49 default: 50 panic("Solaris: unknown severity level"); 51 } |
50 if (ce == CE_PANIC) 51 panic("%s", buf); 52 if (ce != CE_IGNORE) 53 vprintf(buf, adx); | 52 if (ce == CE_PANIC) { 53 vsnprintf(buf, sizeof(buf), fmt, adx); 54 panic("%s%s", prefix, buf); 55 } 56 if (ce != CE_IGNORE) { 57 printf("%s", prefix); 58 vprintf(fmt, adx); 59 } |
54} 55 56void 57cmn_err(int type, const char *fmt, ...) 58{ 59 va_list ap; 60 61 va_start(ap, fmt); 62 vcmn_err(type, fmt, ap); 63 va_end(ap); 64} | 60} 61 62void 63cmn_err(int type, const char *fmt, ...) 64{ 65 va_list ap; 66 67 va_start(ap, fmt); 68 vcmn_err(type, fmt, ap); 69 va_end(ap); 70} |