aboutsummaryrefslogtreecommitdiff
path: root/src/stringprep/stringprep_drv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stringprep/stringprep_drv.c')
-rw-r--r--src/stringprep/stringprep_drv.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/src/stringprep/stringprep_drv.c b/src/stringprep/stringprep_drv.c
index 047ca2041..a12ec9a8e 100644
--- a/src/stringprep/stringprep_drv.c
+++ b/src/stringprep/stringprep_drv.c
@@ -90,23 +90,21 @@ static int compose(int ch1, int ch2)
}
info1 = GetUniCharCompInfo(ch1);
- if (info1 != -1) {
- if (info1 & CompSingleMask) {
- if (ch2 == compFirstList[info1 & CompMask][0]) {
- return compFirstList[info1 & CompMask][1];
- } else
- return 0;
- }
+ if (info1 != -1 && info1 & CompSingleMask) {
+ if (!(info1 & CompSecondMask) &&
+ ch2 == compFirstList[info1 & CompMask][0]) {
+ return compFirstList[info1 & CompMask][1];
+ } else
+ return 0;
}
info2 = GetUniCharCompInfo(ch2);
- if (info2 != -1) {
- if (info2 & CompSingleMask) {
- if (ch1 == compSecondList[info2 & CompMask][0]) {
- return compSecondList[info2 & CompMask][1];
- } else
- return 0;
- }
+ if (info2 != -1 && info2 & CompSingleMask) {
+ if ((info2 & CompSecondMask) &&
+ ch1 == compSecondList[info2 & CompMask][0]) {
+ return compSecondList[info2 & CompMask][1];
+ } else
+ return 0;
}
if (info1 != -1 && info2 != -1 &&