+
+ /* 3.3. Check against an UTF-8 intervals: <start character> and <end character>. */
+ found = false;
+ for (unsigned char * mb = m_additionalUtf8interval; (utf8size(mb) != -1) && (utf8size(mb+utf8size(mb)) != -1)
+ && (mb < m_additionalUtf8interval + sizeof(m_additionalUtf8interval)); mb += (cursize+cursize2) )
+ {
+ cursize = utf8size(mb);
+ cursize2= utf8size(mb+cursize);
+
+ int minlen = cursize > ncursize ? ncursize : cursize;
+ int minlen2 = cursize2 > ncursize ? ncursize : cursize2;
+
+ unsigned char* uright = mb + cursize;
+
+ if ((strncmp(i, (char *) mb, minlen) >= 0) && (strncmp(i, (char *) uright, minlen2) <= 0))
+ {
+ i += cursize - 1;
+ p += cursize - 1;
+ found = true;
+ break;
+ }
+ }
+ if (found)
+ continue;