From owner-svn-src-all@FreeBSD.ORG Wed Feb 22 21:47:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 428BE106566B; Wed, 22 Feb 2012 21:47:51 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 31B5F8FC0C; Wed, 22 Feb 2012 21:47:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q1MLlp7T070414; Wed, 22 Feb 2012 21:47:51 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q1MLlpji070412; Wed, 22 Feb 2012 21:47:51 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201202222147.q1MLlpji070412@svn.freebsd.org> From: Jilles Tjoelker Date: Wed, 22 Feb 2012 21:47:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r232007 - head/lib/libc/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Feb 2012 21:47:51 -0000 Author: jilles Date: Wed Feb 22 21:47:50 2012 New Revision: 232007 URL: http://svn.freebsd.org/changeset/base/232007 Log: libc: Eliminate some relative relocations in fmtmsg(). Modified: head/lib/libc/gen/fmtmsg.c Modified: head/lib/libc/gen/fmtmsg.c ============================================================================== --- head/lib/libc/gen/fmtmsg.c Wed Feb 22 21:46:15 2012 (r232006) +++ head/lib/libc/gen/fmtmsg.c Wed Feb 22 21:47:50 2012 (r232007) @@ -45,10 +45,6 @@ static const char *sevinfo(int); static int validmsgverb(const char *); -static const char *validlist[] = { - "label", "severity", "text", "action", "tag", NULL -}; - int fmtmsg(long class, const char *label, int sev, const char *text, const char *action, const char *tag) @@ -205,14 +201,18 @@ sevinfo(int sev) static int validmsgverb(const char *msgverb) { + const char *validlist = "label\0severity\0text\0action\0tag\0"; char *msgcomp; - int i, equality; + size_t len1, len2; + const char *p; + int equality; equality = 0; while ((msgcomp = nextcomp(msgverb)) != NULL) { equality--; - for (i = 0; validlist[i] != NULL; i++) { - if (strcmp(msgcomp, validlist[i]) == 0) + len1 = strlen(msgcomp); + for (p = validlist; (len2 = strlen(p)) != 0; p += len2 + 1) { + if (len1 == len2 && memcmp(msgcomp, p, len1) == 0) equality++; } }