Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
6c269730
Commit
6c269730
authored
Apr 26, 1999
by
Tom Tromey
Committed by
Tom Tromey
Apr 26, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* natCollator.cc: New file.
From-SVN: r26655
parent
3cc26081
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
76 additions
and
0 deletions
+76
-0
libjava/ChangeLog
+2
-0
libjava/java/text/natCollator.cc
+74
-0
No files found.
libjava/ChangeLog
View file @
6c269730
1999-04-26 Tom Tromey <tromey@cygnus.com>
* natCollator.cc: New file.
* java/util/GregorianCalendar.java (setDefaultTime): New method.
(GregorianCalendar): Use it in all constructors.
* java/util/Calendar.java (Calendar): Changed argument name to
...
...
libjava/java/text/natCollator.cc
0 → 100644
View file @
6c269730
// natCollator.cc - Native code for collation.
/* Copyright (C) 1999 Cygnus Solutions
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 <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
;
}
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
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment