Example #1
0
      ffi.cdef("""
         typedef struct {
            size_t current_index;
            size_t total_index;
            int state;
            int is_valid;
            int ends_on_codepoint;
         } utf8_validator_t;

         void utf8vld_reset (utf8_validator_t* validator);

         void utf8vld_validate (utf8_validator_t* validator, const uint8_t* data, size_t offset, size_t length);
      """)

      ffi.validator = ffi.dlopen('libutf8validator.so')


      from test_cffi_validator import Utf8ValidatorCFFI
      VALIDATORS.append(Utf8ValidatorCFFI(ffi))
   except:
      print "cffi not installed"


   try:
      if True or not 'PyPy' in sys.version:
         from wsaccel.utf8validator import Utf8Validator as ValidatorCython
         #VALIDATORS.append(ValidatorCython())
      else:
         print "skipping installed wsaccel on PyPy"
   except:
Example #2
0
             self._vld[0].current_index, \
             self._vld[0].total_index



if __name__ == '__main__':

   ffi = FFI()

   ffi.cdef("""
      typedef struct {
         size_t current_index;
         size_t total_index;
         int state;
         int is_valid;
         int ends_on_codepoint;
      } utf8_validator_t;

      void utf8vld_reset (utf8_validator_t* validator);

      void utf8vld_validate (utf8_validator_t* validator, const uint8_t* data, size_t offset, size_t length);
   """)

   ffi.validator = ffi.dlopen('libutf8validator.so')

   validator = Utf8ValidatorCFFI(ffi)

   test_utf8_incremental(validator)

   print "ok, validator %s works" % validator