This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] wcscoll


Hi,

I've implemented wcscoll() by calling wcscmp() as strcoll() is implemented
by calling strcmp().

Ok to commit?

Corinna

2001-04-02  Corinna Vinschen  <corinna at vinschen dot de>

	* libc/string/Makefile.am: Add wcscoll.c.
	* libc/string/Makefile.in: Regenerated.
	* libc/string/wcscoll.c: New file.
	* libc/string/wcstrings.tex: Add wcscoll.

Index: libc/string/Makefile.am
===================================================================
RCS file: /cvs/src/src/newlib/libc/string/Makefile.am,v
retrieving revision 1.10
diff -p -u -r1.10 Makefile.am
--- libc/string/Makefile.am	29 Aug 2002 19:47:43 -0000	1.10
+++ libc/string/Makefile.am	2 Apr 2003 10:42:33 -0000
@@ -48,6 +48,7 @@ GENERAL_SOURCES = \
 	wcscat.c \
 	wcschr.c \
 	wcscmp.c \
+	wcscoll.c \
 	wcscpy.c \
 	wcscspn.c \
 	wcslcat.c \
@@ -104,7 +105,8 @@ memchr.def	strcat.def	strerror.def	strer
 memcmp.def	strchr.def	strlen.def	strnlen.def strspn.def \
 strcasecmp.def	strncasecmp.def strlwr.def	strupr.def  memccpy.def \
 mempcpy.def \
-wcscat.def	wcschr.def	wcscmp.def	wcscpy.def wcscspn.def \
+wcscat.def	wcschr.def	wcscmp.def	wcscoll.def \
+wcscpy.def wcscspn.def \
 wcslcat.def	wcslcpy.def	wcslen.def	wcsncat.def wcsncmp.def \
 wcsncpy.def	wcspbrk.def	wcsrchr.def	wcsspn.def wcsstr.def \
 wmemchr.def	wmemcmp.def	wmemcpy.def	wmemmove.def wmemset.def
Index: libc/string/Makefile.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/string/Makefile.in,v
retrieving revision 1.14
diff -p -u -r1.14 Makefile.in
--- libc/string/Makefile.in	29 Aug 2002 19:47:43 -0000	1.14
+++ libc/string/Makefile.in	2 Apr 2003 10:42:33 -0000
@@ -154,6 +154,7 @@ GENERAL_SOURCES = \
 	wcscat.c \
 	wcschr.c \
 	wcscmp.c \
+	wcscoll.c \
 	wcscpy.c \
 	wcscspn.c \
 	wcslcat.c \
@@ -202,7 +203,8 @@ memchr.def	strcat.def	strerror.def	strer
 memcmp.def	strchr.def	strlen.def	strnlen.def strspn.def \
 strcasecmp.def	strncasecmp.def strlwr.def	strupr.def  memccpy.def \
 mempcpy.def \
-wcscat.def	wcschr.def	wcscmp.def	wcscpy.def wcscspn.def \
+wcscat.def	wcschr.def	wcscmp.def	wcscoll.def \
+wcscpy.def wcscspn.def \
 wcslcat.def	wcslcpy.def	wcslen.def	wcsncat.def wcsncmp.def \
 wcsncpy.def	wcspbrk.def	wcsrchr.def	wcsspn.def wcsstr.def \
 wmemchr.def	wmemcmp.def	wmemcpy.def	wmemmove.def wmemset.def
@@ -239,8 +241,8 @@ LIBS = @LIBS@
 @USE_LIBTOOL_FALSE at strspn dot $(OBJEXT) strtok.$(OBJEXT) strtok_r.$(OBJEXT) \
 @USE_LIBTOOL_FALSE at strupr dot $(OBJEXT) strxfrm.$(OBJEXT) strstr.$(OBJEXT) \
 @USE_LIBTOOL_FALSE at swab dot $(OBJEXT) u_strerr.$(OBJEXT) wcscat.$(OBJEXT) \
- at USE_LIBTOOL_FALSE@wcschr.$(OBJEXT) wcscmp.$(OBJEXT) wcscpy.$(OBJEXT) \
- at USE_LIBTOOL_FALSE@wcscspn.$(OBJEXT) wcslcat.$(OBJEXT) \
+ at USE_LIBTOOL_FALSE@wcschr.$(OBJEXT) wcscmp.$(OBJEXT) wcscoll.$(OBJEXT) \
+ at USE_LIBTOOL_FALSE@wcscpy.$(OBJEXT) wcscspn.$(OBJEXT) wcslcat.$(OBJEXT) \
 @USE_LIBTOOL_FALSE at wcslcpy dot $(OBJEXT) wcslen.$(OBJEXT) wcsncat.$(OBJEXT) \
 @USE_LIBTOOL_FALSE at wcsncmp dot $(OBJEXT) wcsncpy.$(OBJEXT) \
 @USE_LIBTOOL_FALSE at wcspbrk dot $(OBJEXT) wcsrchr.$(OBJEXT) wcsspn.$(OBJEXT) \
@@ -258,10 +260,10 @@ LTLIBRARIES =  $(noinst_LTLIBRARIES)
 @USE_LIBTOOL_TRUE at strncmp dot lo strncpy.lo strnlen.lo strpbrk.lo \
 @USE_LIBTOOL_TRUE at strrchr dot lo strsep.lo strspn.lo strtok.lo strtok_r.lo \
 @USE_LIBTOOL_TRUE at strupr dot lo strxfrm.lo strstr.lo swab.lo u_strerr.lo \
- at USE_LIBTOOL_TRUE@wcscat.lo wcschr.lo wcscmp.lo wcscpy.lo wcscspn.lo \
- at USE_LIBTOOL_TRUE@wcslcat.lo wcslcpy.lo wcslen.lo wcsncat.lo wcsncmp.lo \
- at USE_LIBTOOL_TRUE@wcsncpy.lo wcspbrk.lo wcsrchr.lo wcsspn.lo wcsstr.lo \
- at USE_LIBTOOL_TRUE@wmemchr.lo wmemcmp.lo wmemcpy.lo wmemmove.lo \
+ at USE_LIBTOOL_TRUE@wcscat.lo wcschr.lo wcscmp.lo wcscoll.lo wcscpy.lo \
+ at USE_LIBTOOL_TRUE@wcscspn.lo wcslcat.lo wcslcpy.lo wcslen.lo wcsncat.lo \
+ at USE_LIBTOOL_TRUE@wcsncmp.lo wcsncpy.lo wcspbrk.lo wcsrchr.lo wcsspn.lo \
+ at USE_LIBTOOL_TRUE@wcsstr.lo wmemchr.lo wmemcmp.lo wmemcpy.lo wmemmove.lo \
 @USE_LIBTOOL_TRUE at wmemset dot lo
 CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
Index: libc/string/wcscoll.c
===================================================================
RCS file: libc/string/wcscoll.c
diff -N libc/string/wcscoll.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ libc/string/wcscoll.c	2 Apr 2003 10:42:33 -0000
@@ -0,0 +1,45 @@
+/*
+FUNCTION
+	<<wcscoll>>---locale specific wide-character string compare
+	
+INDEX
+	wcscoll
+
+ANSI_SYNOPSIS
+	#include <string.h>
+	int wcscoll(const char *<[stra]>, const char * <[strb]>);
+
+TRAD_SYNOPSIS
+	#include <string.h>
+	int wcscoll(<[stra]>, <[strb]>)
+	char *<[stra]>;
+	char *<[strb]>;
+
+DESCRIPTION
+	<<wcscoll>> compares the wide-character string pointed to by
+	<[stra]> to the wide-character string pointed to by <[strb]>,
+	using an interpretation appropriate to the current <<LC_COLLATE>>
+	state.
+
+RETURNS
+	If the first string is greater than the second string,
+	<<wcscoll>> returns a number greater than zero.  If the two
+	strings are equivalent, <<wcscoll>> returns zero.  If the first
+	string is less than the second string, <<wcscoll>> returns a
+	number less than zero.
+
+PORTABILITY
+<<wcscoll>> is ISO/IEC 9899/AMD1:1995 (ISO C).
+*/
+
+#include <_ansi.h>
+#include <wchar.h>
+
+int
+_DEFUN (wcscoll, (a, b),
+	_CONST wchar_t *a _AND
+	_CONST wchar_t *b)
+
+{
+  return wcscmp (a, b);
+}
Index: libc/string/wcstrings.tex
===================================================================
RCS file: /cvs/src/src/newlib/libc/string/wcstrings.tex,v
retrieving revision 1.1
diff -p -u -r1.1 wcstrings.tex
--- libc/string/wcstrings.tex	29 Aug 2002 19:47:43 -0000	1.1
+++ libc/string/wcstrings.tex	2 Apr 2003 10:42:33 -0000
@@ -14,6 +14,7 @@ declarations are in @file{wchar.h}.
 * wcscat::      Concatenate wide-character strings
 * wcschr::      Search for wide-character in string
 * wcscmp::      Wide-character string compare
+* wcscoll::     Locale specific Wide-character string compare
 * wcscpy::      Copy wide-character string
 * wcscspn::     Count wide-chars not in string
 * wcslcat::     Concatenate wide-character strings to specified length
@@ -51,6 +52,9 @@ declarations are in @file{wchar.h}.
 
 @page
 @include string/wcscmp.def
+
+ at page
+ at include string/wcscoll.def
 
 @page
 @include string/wcscpy.def

-- 
Corinna Vinschen
Cygwin Developer
Red Hat, Inc.
mailto:vinschen at redhat dot com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]