From 77f681b3209dbd01e5446c4154f6aa78aed4f15c Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Wed, 18 May 2005 23:47:33 +0000 Subject: * 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 --- src/stringprep/stringprep_drv.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'src/stringprep/stringprep_drv.c') 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 && -- cgit v1.2.3