HACK fix index out of range crash; this needs to be cleaned up later
X-SVN-Rev: 1862
This commit is contained in:
parent
b2621edca5
commit
12b1d15ed7
@ -5,8 +5,8 @@
|
|||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
*
|
*
|
||||||
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/Normalizer.java,v $
|
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/Normalizer.java,v $
|
||||||
* $Date: 2000/07/12 16:40:58 $
|
* $Date: 2000/07/13 21:25:08 $
|
||||||
* $Revision: 1.3 $
|
* $Revision: 1.4 $
|
||||||
*
|
*
|
||||||
*****************************************************************************************
|
*****************************************************************************************
|
||||||
*/
|
*/
|
||||||
@ -714,11 +714,22 @@ public final class Normalizer {
|
|||||||
ch = text.next();
|
ch = text.next();
|
||||||
chFromText = true;
|
chFromText = true;
|
||||||
} else {
|
} else {
|
||||||
ch = explodeBuf.charAt(explodePos++);
|
// NOTE: I added the following if() block to catch a case that was
|
||||||
if (explodePos >= explodeBuf.length()) {
|
// happening during test runs. charAt() was being called (below)
|
||||||
explodePos = EMPTY;
|
// with an out-of-range index. This fix makes the tests run and
|
||||||
explodeBuf.setLength(0);
|
// pass, but this clearly isn't the right way to fix this. Someone
|
||||||
}
|
// needs to come back and clean this up later. - liu 7/13/00
|
||||||
|
if (explodePos >= explodeBuf.length()) { // fix
|
||||||
|
explodePos = EMPTY; // fix
|
||||||
|
explodeBuf.setLength(0); // fix
|
||||||
|
ch = DONE; // fix
|
||||||
|
} else { // fix
|
||||||
|
ch = explodeBuf.charAt(explodePos++);
|
||||||
|
if (explodePos >= explodeBuf.length()) {
|
||||||
|
explodePos = EMPTY;
|
||||||
|
explodeBuf.setLength(0);
|
||||||
|
}
|
||||||
|
} // fix
|
||||||
chFromText = false;
|
chFromText = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
*
|
*
|
||||||
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/Normalizer.java,v $
|
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/Normalizer.java,v $
|
||||||
* $Date: 2000/07/12 16:40:58 $
|
* $Date: 2000/07/13 21:25:08 $
|
||||||
* $Revision: 1.3 $
|
* $Revision: 1.4 $
|
||||||
*
|
*
|
||||||
*****************************************************************************************
|
*****************************************************************************************
|
||||||
*/
|
*/
|
||||||
@ -714,11 +714,22 @@ public final class Normalizer {
|
|||||||
ch = text.next();
|
ch = text.next();
|
||||||
chFromText = true;
|
chFromText = true;
|
||||||
} else {
|
} else {
|
||||||
ch = explodeBuf.charAt(explodePos++);
|
// NOTE: I added the following if() block to catch a case that was
|
||||||
if (explodePos >= explodeBuf.length()) {
|
// happening during test runs. charAt() was being called (below)
|
||||||
explodePos = EMPTY;
|
// with an out-of-range index. This fix makes the tests run and
|
||||||
explodeBuf.setLength(0);
|
// pass, but this clearly isn't the right way to fix this. Someone
|
||||||
}
|
// needs to come back and clean this up later. - liu 7/13/00
|
||||||
|
if (explodePos >= explodeBuf.length()) { // fix
|
||||||
|
explodePos = EMPTY; // fix
|
||||||
|
explodeBuf.setLength(0); // fix
|
||||||
|
ch = DONE; // fix
|
||||||
|
} else { // fix
|
||||||
|
ch = explodeBuf.charAt(explodePos++);
|
||||||
|
if (explodePos >= explodeBuf.length()) {
|
||||||
|
explodePos = EMPTY;
|
||||||
|
explodeBuf.setLength(0);
|
||||||
|
}
|
||||||
|
} // fix
|
||||||
chFromText = false;
|
chFromText = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user