summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-06-03 11:49:09 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2009-06-07 03:03:23 (GMT)
commitf3dea5e137a603bd247f818e5ae6a9789954c1b7 (patch)
tree4d88085cf15d6e55428408e2ff0a19e94eedc8ca /src
parent81c43cc6a77d168416955c775ac3ebfe910a3791 (diff)
downloadQt-f3dea5e137a603bd247f818e5ae6a9789954c1b7.zip
Qt-f3dea5e137a603bd247f818e5ae6a9789954c1b7.tar.gz
Qt-f3dea5e137a603bd247f818e5ae6a9789954c1b7.tar.bz2
fix catalan plural rules
(cherry picked from commit f1e471b561012f90938766c00aefff417593e71f)
Diffstat (limited to 'src')
-rw-r--r--src/corelib/kernel/qtranslator.cpp3
-rw-r--r--src/corelib/kernel/qtranslator_p.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp
index 736298d..cc64f14 100644
--- a/src/corelib/kernel/qtranslator.cpp
+++ b/src/corelib/kernel/qtranslator.cpp
@@ -149,6 +149,9 @@ static int numerusHelper(int n, const uchar *rules, int rulesSize)
leftOperand %= 10;
} else if (opcode & Q_MOD_100) {
leftOperand %= 100;
+ } else if (opcode & Q_LEAD_1000) {
+ while (leftOperand >= 1000)
+ leftOperand /= 1000;
}
int op = opcode & Q_OP_MASK;
diff --git a/src/corelib/kernel/qtranslator_p.h b/src/corelib/kernel/qtranslator_p.h
index 3e88d3b..61b45b4 100644
--- a/src/corelib/kernel/qtranslator_p.h
+++ b/src/corelib/kernel/qtranslator_p.h
@@ -62,6 +62,7 @@ enum {
Q_NOT = 0x08,
Q_MOD_10 = 0x10,
Q_MOD_100 = 0x20,
+ Q_LEAD_1000 = 0x40,
Q_AND = 0xFD,
Q_OR = 0xFE,