summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/i18n/fphdlimp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'deps/icu-small/source/i18n/fphdlimp.cpp')
-rw-r--r--deps/icu-small/source/i18n/fphdlimp.cpp21
1 files changed, 6 insertions, 15 deletions
diff --git a/deps/icu-small/source/i18n/fphdlimp.cpp b/deps/icu-small/source/i18n/fphdlimp.cpp
index abcec97ee3..c4015fae1b 100644
--- a/deps/icu-small/source/i18n/fphdlimp.cpp
+++ b/deps/icu-small/source/i18n/fphdlimp.cpp
@@ -22,17 +22,8 @@ U_NAMESPACE_BEGIN
FieldPositionHandler::~FieldPositionHandler() {
}
-void
-FieldPositionHandler::addAttribute(int32_t, int32_t, int32_t) {
-}
-
-void
-FieldPositionHandler::shiftLast(int32_t) {
-}
-
-UBool
-FieldPositionHandler::isRecording(void) const {
- return FALSE;
+void FieldPositionHandler::setShift(int32_t delta) {
+ fShift = delta;
}
@@ -48,8 +39,8 @@ FieldPositionOnlyHandler::~FieldPositionOnlyHandler() {
void
FieldPositionOnlyHandler::addAttribute(int32_t id, int32_t start, int32_t limit) {
if (pos.getField() == id) {
- pos.setBeginIndex(start);
- pos.setEndIndex(limit);
+ pos.setBeginIndex(start + fShift);
+ pos.setEndIndex(limit + fShift);
}
}
@@ -91,8 +82,8 @@ FieldPositionIteratorHandler::addAttribute(int32_t id, int32_t start, int32_t li
if (iter && U_SUCCESS(status) && start < limit) {
int32_t size = vec->size();
vec->addElement(id, status);
- vec->addElement(start, status);
- vec->addElement(limit, status);
+ vec->addElement(start + fShift, status);
+ vec->addElement(limit + fShift, status);
if (!U_SUCCESS(status)) {
vec->setSize(size);
}