diff --git a/libc/Android.mk b/libc/Android.mk index 7d66805c9..ee7fece67 100644 --- a/libc/Android.mk +++ b/libc/Android.mk @@ -223,7 +223,6 @@ libc_common_src_files := \ bionic/sigsuspend.c \ bionic/sleep.c \ bionic/statfs.c \ - bionic/strcoll.c \ bionic/strndup.c \ bionic/strnlen.c \ bionic/strntoimax.c \ @@ -344,6 +343,7 @@ libc_upstream_netbsd_src_files := \ upstream-netbsd/libc/stdlib/tsearch.c \ upstream-netbsd/libc/string/memccpy.c \ upstream-netbsd/libc/string/strcasestr.c \ + upstream-netbsd/libc/string/strcoll.c \ upstream-netbsd/libc/string/strxfrm.c \ upstream-netbsd/libc/unistd/killpg.c \ diff --git a/libc/bionic/strcoll.c b/libc/bionic/strcoll.c deleted file mode 100755 index e3b1ec33b..000000000 --- a/libc/bionic/strcoll.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#include - -/* - * Compare strings using the current locale. Since Bionic really does not - * support locales, we assume we always use the C locale and call strcmp. - * - * This function is provided to make libstdc++-v3 usable. - */ -int -strcoll(const char *s1, const char *s2) -{ - return strcmp(s1, s2); -} diff --git a/libc/upstream-netbsd/libc/string/strcoll.c b/libc/upstream-netbsd/libc/string/strcoll.c new file mode 100644 index 000000000..77a094250 --- /dev/null +++ b/libc/upstream-netbsd/libc/string/strcoll.c @@ -0,0 +1,59 @@ +/* $NetBSD: strcoll.c,v 1.10 2012/06/25 22:32:46 abs Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#if defined(LIBC_SCCS) && !defined(lint) +#if 0 +static char sccsid[] = "@(#)strcoll.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: strcoll.c,v 1.10 2012/06/25 22:32:46 abs Exp $"); +#endif +#endif /* LIBC_SCCS and not lint */ + +#include +#include + +/* + * Compare strings according to LC_COLLATE category of current locale. + */ +int +strcoll(const char *s1, const char *s2) +{ + + _DIAGASSERT(s1 != NULL); + _DIAGASSERT(s2 != NULL); + + /* LC_COLLATE is unimplemented, hence always "C" */ + return (strcmp(s1, s2)); +}