aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/text/natCollator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/text/natCollator.cc')
-rw-r--r--libjava/java/text/natCollator.cc74
1 files changed, 0 insertions, 74 deletions
diff --git a/libjava/java/text/natCollator.cc b/libjava/java/text/natCollator.cc
deleted file mode 100644
index 676a4a41a23..00000000000
--- a/libjava/java/text/natCollator.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-// natCollator.cc - Native code for collation.
-
-/* Copyright (C) 1999 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// Written by Tom Tromey <tromey@cygnus.com>.
-
-#include <config.h>
-
-#include <gcj/cni.h>
-#include <jvm.h>
-
-#include <java/text/Collator.h>
-#include <java/lang/StringBuffer.h>
-
-#include <java-chardecomp.h>
-
-void
-java::text::Collator::decomposeCharacter (jchar c,
- java::lang::StringBuffer *buf)
-{
- if (decmp == NO_DECOMPOSITION)
- {
- buf->append(c);
- return;
- }
-
- const struct decomp_entry *base;
- int high;
-
- if (decmp == FULL_DECOMPOSITION)
- {
- base = full_decomposition;
- high = sizeof (full_decomposition) / sizeof (struct decomp_entry);
- }
- else
- {
- base = canonical_decomposition;
- high = sizeof (canonical_decomposition) / sizeof (struct decomp_entry);
- }
-
- // FIXME: this is probably a bit slow for the task at hand.
- int i = high / 2;
- int low = 0;
- while (true)
- {
- if (c < base[i].key)
- high = i;
- else if (c > base[i].key)
- low = i;
- else
- break;
-
- int old = i;
- i = (high + low) / 2;
- if (i == old)
- {
- // Not in table, so it expands to itself.
- buf->append(c);
- return;
- }
- }
-
- for (int j = 0; base[i].value[j] != '\0'; j += 2)
- {
- jchar x = (base[i].value[j] << 8) | (base[i].value[j + 1]);
- buf->append (x);
- }
-}