- public int find(StringLike s,int start,int end) {\r
- if(s instanceof StringWrap)\r
- return find(s.toString(),start,end);\r
- start += offset+sm1;\r
- int vend = min(s.length()-1,end+sm1+offset),k;\r
- int vend1 = vend-jump_ahead;\r
- if(ign) {\r
- for(k=start; k <= vend1;k += skip[s.charAt(k) & (MAX_CHAR-1)] ) {\r
- // table look-up is expensive, avoid it if possible\r
- if( anyc(s.charAt(k)) ) {\r
- if(CaseMgr.regionMatches(src,ign,0,s,k-sm1,sm1))\r
- return k-sm1-offset;\r
- k += jump_ahead;\r
- }\r
- }\r
- for(; k <= vend;k += skip[s.charAt(k) & (MAX_CHAR-1)] ) {\r
- // table look-up is expensive, avoid it if possible\r
- if( anyc(s.charAt(k)) ) {\r
- if(CaseMgr.regionMatches(src,ign,0,s,k-sm1,sm1))\r
- return k-sm1-offset;\r
- k += jump_ahead;\r
- if(k > vend) return -1;\r
- }\r
- }\r
- } else {\r
- for(k=start; k <= vend1;k += skip[s.charAt(k) & (MAX_CHAR-1)] ) {\r
- // table look-up is expensive, avoid it if possible\r
- if( x==s.charAt(k) ) {\r
- //if(src.regionMatches(0,s,k-sm1,sm1))\r
- if(CaseMgr.regionMatches(src,false,0,s,k-sm1,sm1))\r
- return k-sm1-offset;\r
- k += jump_ahead;\r
- }\r
- }\r
- for(; k <= vend;k += skip[s.charAt(k) & (MAX_CHAR-1)] ) {\r
- // table look-up is expensive, avoid it if possible\r
- if( x==s.charAt(k) ) {\r
- //if(src.regionMatches(0,s,k-sm1,sm1))\r
- if(CaseMgr.regionMatches(src,false,0,s,k-sm1,sm1))\r
- return k-sm1-offset;\r
- k += jump_ahead;\r
- if(k > vend) return -1;\r
- }\r
- }\r
+ else\r
+ {\r
+ for (k = start; k <= vend1; k += skip[s.charAt(k) & (MAX_CHAR - 1)])\r
+ {\r
+ // table look-up is expensive, avoid it if possible\r
+ if (x == s.charAt(k))\r
+ {\r
+ //if(src.regionMatches(0,s,k-sm1,sm1))\r
+ if (CaseMgr.regionMatches(src, false, 0, s, k - sm1, sm1))\r
+ {\r
+ return k - sm1 - offset;\r
+ }\r
+ k += jump_ahead;\r