summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-06-03 11:49:09 (GMT)
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-06-03 14:32:22 (GMT)
commitf1e471b561012f90938766c00aefff417593e71f (patch)
tree3919326ebb207e6ed6f8d1fd64ad3f7a90a9d6eb /src
parent11e77b1e47d527a2c4bca6c72d4597bfd8b8a1c3 (diff)
downloadQt-f1e471b561012f90938766c00aefff417593e71f.zip
Qt-f1e471b561012f90938766c00aefff417593e71f.tar.gz
Qt-f1e471b561012f90938766c00aefff417593e71f.tar.bz2
fix catalan plural rules
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 3e4b467..df904a6 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 77ec8f5..a7d58c5 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,