Back out fallback approximation changes, they are not so right to live

This commit is contained in:
Andrey A. Chernov 1996-08-13 17:03:18 +00:00
parent aba3a4ce1b
commit c2bfae006a
3 changed files with 15 additions and 40 deletions

View File

@ -53,10 +53,13 @@ lexicographically compares the null-terminated strings
.Fa s1
and
.Fa s2
according to the current locale collation if any, otherwise some
approximation procedure is used based on available
.Xr ctype 3
information.
according to the current locale collation if any, otherwise call
.Fa strcmp ,
and returns an integer greater than, equal to, or less than 0,
according as
.Fa s1
is greater than, equal to, or less than
.Fa s2 .
.Sh SEE ALSO
.Xr setlocale 3 ,
.Xr strcmp 3 ,

View File

@ -24,12 +24,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: strcoll.c,v 1.5 1996/06/09 14:56:06 ache Exp $
* $Id: strcoll.c,v 1.6 1996/07/12 18:55:38 jkh Exp $
*/
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "collate.h"
int
@ -39,23 +38,8 @@ strcoll(s, s2)
int len, len2, prim, prim2, sec, sec2, ret, ret2;
char *tt, *t, *tt2, *t2;
if (__collate_load_error) {
register const u_char
*us1 = (const u_char *)s,
*us2 = (const u_char *)s2;
while (tolower(*us1) == tolower(*us2)) {
if (*us1 == '\0')
return (0);
if (isupper(*us1) && islower(*us2))
return (-1);
else if (islower(*us1) && isupper(*us2))
return (1);
us1++;
us2++;
}
return (tolower(*us1) - tolower(*us2));
}
if (__collate_load_error)
return strcmp(s, s2);
len = len2 = 1;
ret = ret2 = 0;

View File

@ -29,7 +29,6 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "collate.h"
size_t
@ -51,25 +50,14 @@ strxfrm(dest, src, len)
if (__collate_load_error) {
size_t slen = strlen(src);
u_char *us;
if (slen < len)
if (slen < len) {
strcpy(d, src);
else {
slen = len - 1;
strncpy(d, src, slen);
d[slen] = '\0';
return slen;
}
for (us = d; *us; us++) {
if (isupper(*us)) {
if (tolower(*us) < *us)
*us = tolower(*us) - 1;
/* assume it not started from 0 */
else
*us = tolower(*us);
}
}
return slen;
strncpy(d, src, len - 1);
d[len - 1] = '\0';
return len - 1;
}
ss = s = __collate_substitute(src);