diff options
author | Alexey Shchepin <alexey@process-one.net> | 2005-05-18 23:47:33 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2005-05-18 23:47:33 +0000 |
commit | 77f681b3209dbd01e5446c4154f6aa78aed4f15c (patch) | |
tree | b173f8a9663b0736028ef1363cdc900a8f2f6521 /src/stringprep/stringprep_drv.c | |
parent | * src/mod_irc/mod_irc_connection.erl: Added support for WHOIS (diff) |
* src/mod_pubsub/mod_pubsub.erl: Now possible to subscribe to a
pubsub node with a JID that includes a resource (thanks to Martijn
van Beers)
* src/stringprep/uni_parse2.tcl: Bugfix
* src/stringprep/stringprep_drv.c: Likewise
* src/stringprep/uni_norm.c: Regenerated
SVN Revision: 350
Diffstat (limited to '')
-rw-r--r-- | src/stringprep/stringprep_drv.c | 26 |
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 && |