summaryrefslogtreecommitdiffstats
path: root/lib/libc/locale/collate.h
diff options
context:
space:
mode:
authordt <dt@FreeBSD.org>1999-09-12 21:15:28 +0000
committerdt <dt@FreeBSD.org>1999-09-12 21:15:28 +0000
commitb96c3bcd66f43d6176a9d5dff69d9f5aeb697a62 (patch)
treec72753af6cb6e86b7dcd2aef040ec986a7ca8d82 /lib/libc/locale/collate.h
parent12c22f65a5bb7ee59be3065b48b191434c23cc08 (diff)
downloadFreeBSD-src-b96c3bcd66f43d6176a9d5dff69d9f5aeb697a62.zip
FreeBSD-src-b96c3bcd66f43d6176a9d5dff69d9f5aeb697a62.tar.gz
__collate_substitute() do something non-trivial only for German. For everyone
else, it is equivalent to strdup(). So, we will check if the substitution tables are trivial at the load time, and possibly save 2 calls to __collate_substitute() in strcoll(). Still, __collate_substitute() should not exist.
Diffstat (limited to 'lib/libc/locale/collate.h')
-rw-r--r--lib/libc/locale/collate.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/locale/collate.h b/lib/libc/locale/collate.h
index 23a87b7..ae6317c 100644
--- a/lib/libc/locale/collate.h
+++ b/lib/libc/locale/collate.h
@@ -47,6 +47,7 @@ struct __collate_st_chain_pri {
};
extern int __collate_load_error;
+extern int __collate_substitute_nontrivial;
extern char __collate_version[STR_LEN];
extern u_char __collate_substitute_table[UCHAR_MAX + 1][STR_LEN];
extern struct __collate_st_char_pri __collate_char_pri_table[UCHAR_MAX + 1];
@@ -56,7 +57,7 @@ __BEGIN_DECLS
u_char *__collate_strdup __P((u_char *));
u_char *__collate_substitute __P((const u_char *));
int __collate_load_tables __P((char *));
-void __collate_lookup __P((u_char *, int *, int *, int *));
+void __collate_lookup __P((const u_char *, int *, int *, int *));
int __collate_range_cmp __P((int, int));
#ifdef COLLATE_DEBUG
void __collate_print_tables __P((void));
OpenPOWER on IntegriCloud