1#!/bin/sh 2# 3# CDDL HEADER START 4# 5# The contents of this file are subject to the terms of the 6# Common Development and Distribution License (the "License"). 7# You may not use this file except in compliance with the License. 8# 9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10# or http://www.opensolaris.org/os/licensing. 11# See the License for the specific language governing permissions 12# and limitations under the License. 13# 14# When distributing Covered Code, include this CDDL HEADER in each 15# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16# If applicable, add the following below this CDDL HEADER, with the 17# fields enclosed by brackets "[]" replaced with your own identifying 18# information: Portions Copyright [yyyy] [name of copyright owner] 19# 20# CDDL HEADER END 21# 22# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25#ident "%Z%%M% %I% %E% SMI" 26 27 28echo "/* 29 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 30 * Use is subject to license terms. 31 */ 32 33#include <locale.h> 34#include <libintl.h> 35#include <ucode/ucode_errno.h> 36#include <stdlib.h> 37 38static const struct { 39\tchar *uce_name;\t\t/* error name */ 40\tchar *uce_msg;\t\t/* error message */ 41} _ucode_errstr[] = { 42/* 43 * TRANSLATION_NOTE 44 * The following message strings that begin with EM_ do not 45 * need to be translated. 46 */ 47" 48pattern='^ \(EM_[A-Z0-9_]*\),*' 49replace=' { "\1", ' 50open=' \/\* ' 51openrepl='"' 52close=' \*\/$' 53closerepl='" },' 54( sed -n "s/$pattern/$replace/p" < $1 | sed -n "s/$open/$openrepl/p" | 55 sed -n "s/$close/$closerepl/p" ) || exit 1 56 57echo "\ 58};\n\ 59\n\ 60static int _ucode_nerrno = sizeof (_ucode_errstr) / sizeof (_ucode_errstr[0]);\n\ 61\n\ 62const char * 63ucode_strerror(ucode_errno_t errno) 64{ 65 return (errno < 0 || errno >= _ucode_nerrno ? 66 gettext(\"unknown error\") : 67 gettext(_ucode_errstr[errno].uce_msg)); 68} 69 70const char * 71ucode_errname(ucode_errno_t errno) 72{ 73 return (errno < 0 || errno >= _ucode_nerrno ? NULL : 74 gettext(_ucode_errstr[errno].uce_name)); 75}" 76 77exit 0 78