From owner-svn-src-head@FreeBSD.ORG Fri May 30 01:09:09 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 38EC1491; Fri, 30 May 2014 01:09:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 257632B24; Fri, 30 May 2014 01:09:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s4U198Oq028756; Fri, 30 May 2014 01:09:08 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s4U197Ox028750; Fri, 30 May 2014 01:09:07 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201405300109.s4U197Ox028750@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Fri, 30 May 2014 01:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r266865 - in head: include include/xlocale lib/libc/string X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 May 2014 01:09:09 -0000 Author: pfg Date: Fri May 30 01:09:07 2014 New Revision: 266865 URL: http://svnweb.freebsd.org/changeset/base/266865 Log: Fix strcasecmp_l() and strncasecmp_l() POSIX 2008 compliance. POSIX.1-2008 specifies that those two functions should be declared by including , not (the latter only has strcoll_l() and strxfrm_l()): http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html Obtained from: DragonFlyBSD Reviewed by: theraven MFC after: 2 weeks Added: head/include/xlocale/_strings.h - copied, changed from r266827, head/include/xlocale/_string.h Modified: head/include/strings.h head/include/xlocale/Makefile head/include/xlocale/_string.h head/lib/libc/string/strcasecmp.3 Modified: head/include/strings.h ============================================================================== --- head/include/strings.h Fri May 30 00:12:25 2014 (r266864) +++ head/include/strings.h Fri May 30 01:09:07 2014 (r266865) @@ -59,6 +59,10 @@ char *rindex(const char *, int) __pure; #endif int strcasecmp(const char *, const char *) __pure; int strncasecmp(const char *, const char *, size_t) __pure; + +#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) +#include +#endif __END_DECLS #endif /* _STRINGS_H_ */ Modified: head/include/xlocale/Makefile ============================================================================== --- head/include/xlocale/Makefile Fri May 30 00:12:25 2014 (r266864) +++ head/include/xlocale/Makefile Fri May 30 01:09:07 2014 (r266865) @@ -2,7 +2,7 @@ NO_OBJ= INCS= _ctype.h _inttypes.h _langinfo.h _locale.h _monetary.h _stdio.h\ - _stdlib.h _string.h _time.h _uchar.h _wchar.h + _stdlib.h _string.h _strings.h _time.h _uchar.h _wchar.h INCSDIR=${INCLUDEDIR}/xlocale .include Modified: head/include/xlocale/_string.h ============================================================================== --- head/include/xlocale/_string.h Fri May 30 00:12:25 2014 (r266864) +++ head/include/xlocale/_string.h Fri May 30 01:09:07 2014 (r266865) @@ -53,9 +53,7 @@ size_t strxfrm_l(char *, const char *, #ifdef _XLOCALE_H_ #ifndef _XLOCALE_STRING2_H #define _XLOCALE_STRING2_H -int strcasecmp_l(const char *, const char *, locale_t); char *strcasestr_l(const char *, const char *, locale_t); -int strncasecmp_l(const char *, const char *, size_t, locale_t); #endif /* _XLOCALE_STRING2_H */ #endif /* _XLOCALE_H_ */ Copied and modified: head/include/xlocale/_strings.h (from r266827, head/include/xlocale/_string.h) ============================================================================== --- head/include/xlocale/_string.h Thu May 29 01:42:22 2014 (r266827, copy source) +++ head/include/xlocale/_strings.h Fri May 30 01:09:07 2014 (r266865) @@ -32,30 +32,17 @@ typedef struct _xlocale *locale_t; #endif /* - * This file is included from both string.h and xlocale.h. We need to expose + * This file is included from both strings.h and xlocale.h. We need to expose * the declarations unconditionally if we are included from xlocale.h, but only * if we are in POSIX2008 mode if included from string.h. */ -#ifndef _XLOCALE_STRING1_H -#define _XLOCALE_STRING1_H +#ifndef _XLOCALE_STRINGS1_H +#define _XLOCALE_STRINGS1_H /* * POSIX2008 functions */ -int strcoll_l(const char *, const char *, locale_t); -size_t strxfrm_l(char *, const char *, size_t, locale_t); -#endif /* _XLOCALE_STRING1_H */ - -/* - * xlocale extensions - */ -#ifdef _XLOCALE_H_ -#ifndef _XLOCALE_STRING2_H -#define _XLOCALE_STRING2_H int strcasecmp_l(const char *, const char *, locale_t); -char *strcasestr_l(const char *, const char *, locale_t); int strncasecmp_l(const char *, const char *, size_t, locale_t); - -#endif /* _XLOCALE_STRING2_H */ -#endif /* _XLOCALE_H_ */ +#endif /* _XLOCALE_STRINGS1_H */ Modified: head/lib/libc/string/strcasecmp.3 ============================================================================== --- head/lib/libc/string/strcasecmp.3 Fri May 30 00:12:25 2014 (r266864) +++ head/lib/libc/string/strcasecmp.3 Fri May 30 01:09:07 2014 (r266865) @@ -30,7 +30,7 @@ .\" @(#)strcasecmp.3 8.1 (Berkeley) 6/9/93 .\" $FreeBSD$ .\" -.Dd June 9, 1993 +.Dd May 29, 2014 .Dt STRCASECMP 3 .Os .Sh NAME @@ -45,7 +45,7 @@ .Fn strcasecmp "const char *s1" "const char *s2" .Ft int .Fn strncasecmp "const char *s1" "const char *s2" "size_t len" -.In string.h +.In strings.h .In xlocale.h .Ft int .Fn strcasecmp_l "const char *s1" "const char *s2" "locale_t loc"