/** errmsg.c - implementation of the elf_errmsg(3) function.* Copyright (C) 1995 - 1999, 2004 Michael Riepe** This library is free software; you can redistribute it and/or* modify it under the terms of the GNU Library General Public* License as published by the Free Software Foundation; either* version 2 of the License, or (at your option) any later version.** This library is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU* Library General Public License for more details.** You should have received a copy of the GNU Library General Public* License along with this library; if not, write to the Free Software* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA*/#include <private.h>#ifndef lintstatic const char rcsid[] = "@(#) $Id: errmsg.c,v 1.11 2008年05月23日 08:15:34 michael Exp $";#endif /* lint */#if HAVE_DGETTEXT# undef HAVE_CATGETS# include <libintl.h>#else /* HAVE_DGETTEXT */# define dgettext(dom, str) str#endif /* HAVE_DGETTEXT */#if HAVE_CATGETS# include <nl_types.h>static nl_catd _libelf_cat = (nl_catd)0;#endif /* HAVE_CATGETS */#if HAVE_DGETTEXT || HAVE_CATGETSstatic const char domain[] = "libelf";#endif /* HAVE_DGETTEXT || HAVE_CATGETS */#if PICstatic const char *_messages[] = {#else /* PIC */static const char *const _messages[] = {#endif /* PIC */#define __err__(a,b) b,#include <errors.h> /* include string tables from errors.h */#undef __err__};const char*elf_errmsg(int err) {if (err == 0) {err = _elf_errno;if (err == 0) {return NULL;}}else if (err == -1) {err = _elf_errno;}if (err < 0 || err >= ERROR_NUM || _messages[err] == NULL) {err = ERROR_UNKNOWN;}#if HAVE_CATGETSif (_libelf_cat == (nl_catd)0) {_libelf_cat = catopen(domain, 0);}if (_libelf_cat != (nl_catd)-1) {return catgets(_libelf_cat, 1, err + 1, _messages[err]);}#endif /* HAVE_CATGETS */return dgettext(domain, _messages[err]);}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。