@port-labs/jq-node-bindings 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/binding.gyp +3 -3
  2. package/configure +8 -6
  3. package/deps/jq/.travis.yml +184 -35
  4. package/deps/jq/AUTHORS +31 -30
  5. package/deps/jq/COPYING +2 -2
  6. package/deps/jq/KEYS +8 -0
  7. package/deps/jq/Makefile.am +85 -70
  8. package/deps/jq/NEWS +5 -4
  9. package/deps/jq/README.md +18 -9
  10. package/deps/jq/appveyor.yml +53 -0
  11. package/deps/jq/compile-ios.sh +5 -5
  12. package/deps/jq/config/m4/check-math-func.m4 +7 -2
  13. package/deps/jq/configure.ac +130 -68
  14. package/deps/jq/docs/Rakefile +14 -135
  15. package/deps/jq/docs/Rakefile.manual +49 -0
  16. package/deps/jq/docs/Rakefile.website +76 -0
  17. package/deps/jq/docs/content/2.download/default.yml +115 -39
  18. package/deps/jq/docs/content/3.manual/manual.yml +641 -231
  19. package/deps/jq/docs/content/3.manual/v1.3/manual.yml +130 -130
  20. package/deps/jq/docs/content/3.manual/v1.4/manual.yml +160 -160
  21. package/deps/jq/docs/content/3.manual/v1.5/manual.yml +2878 -0
  22. package/deps/jq/docs/content/3.manual/v1.6/manual.yml +3287 -0
  23. package/deps/jq/docs/content/index/index.yml +28 -6
  24. package/deps/jq/docs/public/.htaccess +2 -2
  25. package/deps/jq/docs/public/css/base.scss +141 -59
  26. package/deps/jq/docs/public/js/manual-search.js +52 -0
  27. package/deps/jq/docs/site.yml +1 -10
  28. package/deps/jq/docs/templates/default.liquid +10 -10
  29. package/deps/jq/docs/templates/index.liquid +45 -32
  30. package/deps/jq/docs/templates/manual.liquid +67 -90
  31. package/deps/jq/docs/templates/shared/_footer.liquid +10 -5
  32. package/deps/jq/docs/templates/shared/_head.liquid +17 -12
  33. package/deps/jq/docs/templates/shared/_navbar.liquid +27 -0
  34. package/deps/jq/jq.1.prebuilt +523 -139
  35. package/deps/jq/modules/oniguruma/AUTHORS +1 -0
  36. package/deps/jq/modules/oniguruma/CMakeLists.txt +86 -0
  37. package/deps/jq/modules/oniguruma/COPYING +28 -0
  38. package/deps/jq/modules/oniguruma/ChangeLog +0 -0
  39. package/deps/jq/modules/oniguruma/HISTORY +2138 -0
  40. package/deps/jq/modules/oniguruma/Makefile.am +33 -0
  41. package/deps/jq/modules/oniguruma/NEWS +0 -0
  42. package/deps/jq/modules/oniguruma/README +189 -0
  43. package/deps/jq/modules/oniguruma/README.ja +195 -0
  44. package/deps/jq/modules/oniguruma/README.md +203 -0
  45. package/deps/jq/modules/oniguruma/cmake/dist.cmake +321 -0
  46. package/deps/jq/modules/oniguruma/compile +348 -0
  47. package/deps/jq/modules/oniguruma/config.guess +1754 -0
  48. package/deps/jq/modules/oniguruma/config.sub +1890 -0
  49. package/deps/jq/modules/oniguruma/configure.ac +87 -0
  50. package/deps/jq/modules/oniguruma/contributed/libfuzzer-onig.cpp +31 -0
  51. package/deps/jq/modules/oniguruma/depcomp +791 -0
  52. package/deps/jq/modules/oniguruma/dist.info +10 -0
  53. package/deps/jq/modules/oniguruma/doc/API +660 -0
  54. package/deps/jq/modules/oniguruma/doc/API.ja +667 -0
  55. package/deps/jq/modules/oniguruma/doc/FAQ +12 -0
  56. package/deps/jq/modules/oniguruma/doc/FAQ.ja +22 -0
  57. package/deps/jq/modules/oniguruma/doc/RE +436 -0
  58. package/deps/jq/modules/oniguruma/doc/RE.ja +448 -0
  59. package/deps/jq/modules/oniguruma/doc/UNICODE_PROPERTIES +698 -0
  60. package/deps/jq/modules/oniguruma/index.html +181 -0
  61. package/deps/jq/modules/oniguruma/index_ja.html +184 -0
  62. package/deps/jq/modules/oniguruma/install-sh +541 -0
  63. package/deps/jq/modules/oniguruma/m4/.whatever +0 -0
  64. package/deps/jq/modules/oniguruma/make_win32.bat +3 -0
  65. package/deps/jq/modules/oniguruma/make_win64.bat +3 -0
  66. package/deps/jq/modules/oniguruma/missing +215 -0
  67. package/deps/jq/modules/oniguruma/onig-config.in +78 -0
  68. package/deps/jq/modules/oniguruma/oniguruma.pc.cmake.in +13 -0
  69. package/deps/jq/modules/oniguruma/oniguruma.pc.in +14 -0
  70. package/deps/jq/modules/oniguruma/sample/CMakeLists.txt +28 -0
  71. package/deps/jq/modules/oniguruma/sample/Makefile.am +34 -0
  72. package/deps/jq/modules/oniguruma/sample/bug_fix.c +131 -0
  73. package/deps/jq/modules/oniguruma/sample/crnl.c +127 -0
  74. package/deps/jq/modules/oniguruma/sample/encode.c +308 -0
  75. package/deps/jq/modules/oniguruma/sample/listcap.c +110 -0
  76. package/deps/jq/modules/oniguruma/sample/names.c +75 -0
  77. package/deps/jq/modules/oniguruma/sample/posix.c +96 -0
  78. package/deps/jq/modules/oniguruma/sample/scan.c +88 -0
  79. package/deps/jq/modules/oniguruma/sample/simple.c +59 -0
  80. package/deps/jq/modules/oniguruma/sample/sql.c +76 -0
  81. package/deps/jq/modules/oniguruma/sample/syntax.c +76 -0
  82. package/deps/jq/modules/oniguruma/sample/user_property.c +87 -0
  83. package/deps/jq/modules/oniguruma/src/Makefile.am +58 -0
  84. package/deps/jq/modules/oniguruma/src/Makefile.windows +183 -0
  85. package/deps/jq/modules/oniguruma/src/ascii.c +61 -0
  86. package/deps/jq/modules/oniguruma/src/big5.c +190 -0
  87. package/deps/jq/modules/oniguruma/src/config.h.cmake.in +71 -0
  88. package/deps/jq/modules/oniguruma/src/config.h.win32 +84 -0
  89. package/deps/jq/modules/oniguruma/src/config.h.win64 +84 -0
  90. package/deps/jq/modules/oniguruma/src/cp1251.c +203 -0
  91. package/deps/jq/modules/oniguruma/src/euc_jp.c +310 -0
  92. package/deps/jq/modules/oniguruma/src/euc_jp_prop.c +158 -0
  93. package/deps/jq/modules/oniguruma/src/euc_jp_prop.gperf +27 -0
  94. package/deps/jq/modules/oniguruma/src/euc_kr.c +188 -0
  95. package/deps/jq/modules/oniguruma/src/euc_tw.c +171 -0
  96. package/deps/jq/modules/oniguruma/src/gb18030.c +538 -0
  97. package/deps/jq/modules/oniguruma/src/gperf_fold_key_conv.py +67 -0
  98. package/deps/jq/modules/oniguruma/src/gperf_unfold_key_conv.py +55 -0
  99. package/deps/jq/modules/oniguruma/src/iso8859_1.c +275 -0
  100. package/deps/jq/modules/oniguruma/src/iso8859_10.c +242 -0
  101. package/deps/jq/modules/oniguruma/src/iso8859_11.c +99 -0
  102. package/deps/jq/modules/oniguruma/src/iso8859_13.c +231 -0
  103. package/deps/jq/modules/oniguruma/src/iso8859_14.c +244 -0
  104. package/deps/jq/modules/oniguruma/src/iso8859_15.c +238 -0
  105. package/deps/jq/modules/oniguruma/src/iso8859_16.c +240 -0
  106. package/deps/jq/modules/oniguruma/src/iso8859_2.c +238 -0
  107. package/deps/jq/modules/oniguruma/src/iso8859_3.c +238 -0
  108. package/deps/jq/modules/oniguruma/src/iso8859_4.c +240 -0
  109. package/deps/jq/modules/oniguruma/src/iso8859_5.c +229 -0
  110. package/deps/jq/modules/oniguruma/src/iso8859_6.c +99 -0
  111. package/deps/jq/modules/oniguruma/src/iso8859_7.c +225 -0
  112. package/deps/jq/modules/oniguruma/src/iso8859_8.c +99 -0
  113. package/deps/jq/modules/oniguruma/src/iso8859_9.c +231 -0
  114. package/deps/jq/modules/oniguruma/src/koi8.c +253 -0
  115. package/deps/jq/modules/oniguruma/src/koi8_r.c +215 -0
  116. package/deps/jq/modules/oniguruma/src/make_unicode_fold.sh +22 -0
  117. package/deps/jq/modules/oniguruma/src/make_unicode_fold_data.py +306 -0
  118. package/deps/jq/modules/oniguruma/src/make_unicode_property.sh +18 -0
  119. package/deps/jq/modules/oniguruma/src/make_unicode_property_data.py +545 -0
  120. package/deps/jq/modules/oniguruma/src/mktable.c +1184 -0
  121. package/deps/jq/modules/oniguruma/src/onig_init.c +45 -0
  122. package/deps/jq/modules/oniguruma/src/oniggnu.h +85 -0
  123. package/deps/jq/modules/oniguruma/src/onigposix.h +169 -0
  124. package/deps/jq/modules/oniguruma/src/oniguruma.h +841 -0
  125. package/deps/jq/modules/oniguruma/src/regcomp.c +6300 -0
  126. package/deps/jq/modules/oniguruma/src/regenc.c +917 -0
  127. package/deps/jq/modules/oniguruma/src/regenc.h +243 -0
  128. package/deps/jq/modules/oniguruma/src/regerror.c +393 -0
  129. package/deps/jq/modules/oniguruma/src/regexec.c +3856 -0
  130. package/deps/jq/modules/oniguruma/src/regext.c +202 -0
  131. package/deps/jq/modules/oniguruma/src/reggnu.c +147 -0
  132. package/deps/jq/modules/oniguruma/src/regint.h +779 -0
  133. package/deps/jq/modules/oniguruma/src/regparse.c +5403 -0
  134. package/deps/jq/modules/oniguruma/src/regparse.h +351 -0
  135. package/deps/jq/modules/oniguruma/src/regposerr.c +105 -0
  136. package/deps/jq/modules/oniguruma/src/regposix.c +306 -0
  137. package/deps/jq/modules/oniguruma/src/regsyntax.c +315 -0
  138. package/deps/jq/modules/oniguruma/src/regtrav.c +76 -0
  139. package/deps/jq/modules/oniguruma/src/regversion.c +57 -0
  140. package/deps/jq/modules/oniguruma/src/sjis.c +341 -0
  141. package/deps/jq/modules/oniguruma/src/sjis_prop.c +158 -0
  142. package/deps/jq/modules/oniguruma/src/sjis_prop.gperf +27 -0
  143. package/deps/jq/modules/oniguruma/src/st.c +589 -0
  144. package/deps/jq/modules/oniguruma/src/st.h +68 -0
  145. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold1_key.c +2250 -0
  146. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold2_key.c +203 -0
  147. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold3_key.c +113 -0
  148. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold_data.c +1225 -0
  149. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data.c +24742 -0
  150. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data_posix.c +4846 -0
  151. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_unfold_key.c +2571 -0
  152. package/deps/jq/modules/oniguruma/src/unicode.c +664 -0
  153. package/deps/jq/modules/oniguruma/src/unicode_fold1_key.c +2548 -0
  154. package/deps/jq/modules/oniguruma/src/unicode_fold2_key.c +203 -0
  155. package/deps/jq/modules/oniguruma/src/unicode_fold3_key.c +113 -0
  156. package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +1366 -0
  157. package/deps/jq/modules/oniguruma/src/unicode_property_data.c +25306 -0
  158. package/deps/jq/modules/oniguruma/src/unicode_property_data_posix.c +4940 -0
  159. package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +2854 -0
  160. package/deps/jq/modules/oniguruma/src/utf16_be.c +235 -0
  161. package/deps/jq/modules/oniguruma/src/utf16_le.c +245 -0
  162. package/deps/jq/modules/oniguruma/src/utf32_be.c +194 -0
  163. package/deps/jq/modules/oniguruma/src/utf32_le.c +194 -0
  164. package/deps/jq/modules/oniguruma/src/utf8.c +335 -0
  165. package/deps/jq/modules/oniguruma/test/Makefile.am +28 -0
  166. package/deps/jq/modules/oniguruma/test/testc.c +874 -0
  167. package/deps/jq/modules/oniguruma/test/testu.c +916 -0
  168. package/deps/jq/modules/oniguruma/test-driver +153 -0
  169. package/deps/jq/modules/oniguruma/windows/testc.c +869 -0
  170. package/deps/jq/scripts/crosscompile +2 -1
  171. package/deps/jq/scripts/gen_utf8_tables.py +2 -3
  172. package/deps/jq/scripts/update-website +29 -0
  173. package/deps/jq/scripts/version +7 -2
  174. package/deps/jq/sig/jq-release.key +41 -0
  175. package/deps/jq/sig/v1.3/jq-linux-x86.asc +17 -0
  176. package/deps/jq/sig/v1.3/jq-linux-x86_64.asc +17 -0
  177. package/deps/jq/sig/v1.3/jq-osx-x86.asc +17 -0
  178. package/deps/jq/sig/v1.3/jq-osx-x86_64.asc +17 -0
  179. package/deps/jq/sig/v1.3/jq-win32.exe.asc +17 -0
  180. package/deps/jq/sig/v1.3/jq-win64.exe.asc +17 -0
  181. package/deps/jq/sig/v1.3/sha256sum.txt +6 -0
  182. package/deps/jq/sig/v1.4/jq-linux-x86.asc +17 -0
  183. package/deps/jq/sig/v1.4/jq-linux-x86_64.asc +17 -0
  184. package/deps/jq/sig/v1.4/jq-osx-x86.asc +17 -0
  185. package/deps/jq/sig/v1.4/jq-osx-x86_64.asc +17 -0
  186. package/deps/jq/sig/v1.4/jq-solaris11-32.asc +17 -0
  187. package/deps/jq/sig/v1.4/jq-solaris11-64.asc +17 -0
  188. package/deps/jq/sig/v1.4/jq-win32.exe.asc +17 -0
  189. package/deps/jq/sig/v1.4/jq-win64.exe.asc +17 -0
  190. package/deps/jq/sig/v1.4/sha256sum.txt +8 -0
  191. package/deps/jq/sig/v1.5/jq-linux32-no-oniguruma.asc +17 -0
  192. package/deps/jq/sig/v1.5/jq-linux32.asc +17 -0
  193. package/deps/jq/sig/v1.5/jq-linux64.asc +17 -0
  194. package/deps/jq/sig/v1.5/jq-osx-amd64.asc +17 -0
  195. package/deps/jq/sig/v1.5/jq-win32.exe.asc +17 -0
  196. package/deps/jq/sig/v1.5/jq-win64.exe.asc +17 -0
  197. package/deps/jq/sig/v1.5/sha256sum.txt +5 -0
  198. package/deps/jq/sig/v1.5rc1/jq-linux-x86_64-static.asc +17 -0
  199. package/deps/jq/sig/v1.5rc1/jq-win32.exe.asc +17 -0
  200. package/deps/jq/sig/v1.5rc1/jq-win64.exe.asc +17 -0
  201. package/deps/jq/sig/v1.5rc1/sha256sum.txt +3 -0
  202. package/deps/jq/sig/v1.5rc2/jq-linux-x86.asc +17 -0
  203. package/deps/jq/sig/v1.5rc2/jq-linux-x86_64.asc +17 -0
  204. package/deps/jq/sig/v1.5rc2/jq-osx-x86_64.asc +17 -0
  205. package/deps/jq/sig/v1.5rc2/jq-win32.exe.asc +17 -0
  206. package/deps/jq/sig/v1.5rc2/jq-win64.exe.asc +17 -0
  207. package/deps/jq/sig/v1.5rc2/sha256sum.txt +5 -0
  208. package/deps/jq/sig/v1.6/jq-linux32.asc +16 -0
  209. package/deps/jq/sig/v1.6/jq-linux64.asc +16 -0
  210. package/deps/jq/sig/v1.6/jq-osx-amd64.asc +16 -0
  211. package/deps/jq/sig/v1.6/jq-win32.exe.asc +16 -0
  212. package/deps/jq/sig/v1.6/jq-win64.exe.asc +16 -0
  213. package/deps/jq/sig/v1.6/sha256sum.txt +5 -0
  214. package/deps/jq/{builtin.c → src/builtin.c} +449 -344
  215. package/deps/jq/{builtin.h → src/builtin.h} +0 -0
  216. package/deps/jq/src/builtin.jq +311 -0
  217. package/deps/jq/{bytecode.c → src/bytecode.c} +0 -0
  218. package/deps/jq/{bytecode.h → src/bytecode.h} +0 -0
  219. package/deps/jq/{compile.c → src/compile.c} +213 -37
  220. package/deps/jq/{compile.h → src/compile.h} +7 -2
  221. package/deps/jq/{exec_stack.h → src/exec_stack.h} +0 -0
  222. package/deps/jq/{execute.c → src/execute.c} +127 -24
  223. package/deps/jq/{inject_errors.c → src/inject_errors.c} +0 -0
  224. package/deps/jq/{jq.h → src/jq.h} +13 -2
  225. package/deps/jq/{jq_parser.h → src/jq_parser.h} +0 -0
  226. package/deps/jq/{jq_test.c → src/jq_test.c} +1 -1
  227. package/deps/jq/{jv.c → src/jv.c} +24 -5
  228. package/deps/jq/{jv.h → src/jv.h} +46 -11
  229. package/deps/jq/{jv_alloc.c → src/jv_alloc.c} +0 -0
  230. package/deps/jq/{jv_alloc.h → src/jv_alloc.h} +0 -0
  231. package/deps/jq/{jv_aux.c → src/jv_aux.c} +38 -14
  232. package/deps/jq/{jv_dtoa.c → src/jv_dtoa.c} +4 -5
  233. package/deps/jq/{jv_dtoa.h → src/jv_dtoa.h} +0 -0
  234. package/deps/jq/src/jv_file.c +81 -0
  235. package/deps/jq/{jv_parse.c → src/jv_parse.c} +8 -2
  236. package/deps/jq/{jv_print.c → src/jv_print.c} +80 -27
  237. package/deps/jq/{jv_unicode.c → src/jv_unicode.c} +28 -4
  238. package/deps/jq/{jv_unicode.h → src/jv_unicode.h} +1 -0
  239. package/deps/jq/{jv_utf8_tables.h → src/jv_utf8_tables.h} +0 -0
  240. package/deps/jq/{lexer.c → src/lexer.c} +317 -292
  241. package/deps/jq/{lexer.h → src/lexer.h} +16 -12
  242. package/deps/jq/{lexer.l → src/lexer.l} +5 -4
  243. package/deps/jq/src/libm.h +291 -0
  244. package/deps/jq/{linker.c → src/linker.c} +5 -3
  245. package/deps/jq/{linker.h → src/linker.h} +0 -0
  246. package/deps/jq/{locfile.c → src/locfile.c} +1 -1
  247. package/deps/jq/{locfile.h → src/locfile.h} +0 -0
  248. package/deps/jq/{main.c → src/main.c} +202 -100
  249. package/deps/jq/{opcode_list.h → src/opcode_list.h} +4 -0
  250. package/deps/jq/{parser.c → src/parser.c} +1149 -1069
  251. package/deps/jq/{parser.h → src/parser.h} +28 -24
  252. package/deps/jq/{parser.y → src/parser.y} +108 -52
  253. package/deps/jq/{util.c → src/util.c} +12 -9
  254. package/deps/jq/{util.h → src/util.h} +0 -0
  255. package/deps/jq/tests/base64.test +35 -0
  256. package/deps/jq/tests/base64test +5 -0
  257. package/deps/jq/tests/jq-f-test.sh +4 -0
  258. package/deps/jq/tests/jq.test +305 -21
  259. package/deps/jq/tests/jqtest +1 -1
  260. package/deps/jq/tests/mantest +1 -1
  261. package/deps/jq/tests/onig.test +13 -0
  262. package/deps/jq/tests/onigtest +1 -1
  263. package/deps/jq/tests/optional.test +20 -0
  264. package/deps/jq/tests/optionaltest +5 -0
  265. package/deps/jq/tests/setup +7 -1
  266. package/deps/jq/tests/shtest +133 -29
  267. package/deps/jq/tests/utf8-truncate.jq +3 -0
  268. package/deps/jq/tests/utf8test +10 -0
  269. package/lib/index.js +7 -1
  270. package/package.json +3 -3
  271. package/test/santiy.test.js +24 -0
  272. package/deps/jq/docs/default_manpage.md +0 -22
  273. package/deps/jq/docs/public/bootstrap/css/bootstrap-responsive.css +0 -1058
  274. package/deps/jq/docs/public/bootstrap/css/bootstrap-responsive.min.css +0 -9
  275. package/deps/jq/docs/public/bootstrap/css/bootstrap.css +0 -5224
  276. package/deps/jq/docs/public/bootstrap/css/bootstrap.min.css +0 -9
  277. package/deps/jq/docs/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
  278. package/deps/jq/docs/public/bootstrap/img/glyphicons-halflings.png +0 -0
  279. package/deps/jq/docs/public/bootstrap/js/bootstrap.js +0 -2027
  280. package/deps/jq/docs/public/bootstrap/js/bootstrap.min.js +0 -6
  281. package/deps/jq/docs/templates/shared/_header.liquid +0 -26
  282. package/deps/jq/jq.1.default +0 -39
  283. package/deps/jq/jv_file.c +0 -49
  284. package/deps/jq/libm.h +0 -160
  285. package/deps/jq/setup.sh +0 -33
  286. package/reports/jest-port-api.xml +0 -35
@@ -0,0 +1,59 @@
1
+ /*
2
+ * simple.c
3
+ */
4
+ #include <stdio.h>
5
+ #include <string.h>
6
+ #include "oniguruma.h"
7
+
8
+ extern int main(int argc, char* argv[])
9
+ {
10
+ int r;
11
+ unsigned char *start, *range, *end;
12
+ regex_t* reg;
13
+ OnigErrorInfo einfo;
14
+ OnigRegion *region;
15
+
16
+ static UChar* pattern = (UChar* )"a(.*)b|[e-f]+";
17
+ static UChar* str = (UChar* )"zzzzaffffffffb";
18
+
19
+ OnigEncoding use_encs[] = { ONIG_ENCODING_ASCII };
20
+ onig_initialize(use_encs, sizeof(use_encs)/sizeof(use_encs[0]));
21
+
22
+ r = onig_new(&reg, pattern, pattern + strlen((char* )pattern),
23
+ ONIG_OPTION_DEFAULT, ONIG_ENCODING_ASCII, ONIG_SYNTAX_DEFAULT, &einfo);
24
+ if (r != ONIG_NORMAL) {
25
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
26
+ onig_error_code_to_str(s, r, &einfo);
27
+ fprintf(stderr, "ERROR: %s\n", s);
28
+ return -1;
29
+ }
30
+
31
+ region = onig_region_new();
32
+
33
+ end = str + strlen((char* )str);
34
+ start = str;
35
+ range = end;
36
+ r = onig_search(reg, str, end, start, range, region, ONIG_OPTION_NONE);
37
+ if (r >= 0) {
38
+ int i;
39
+
40
+ fprintf(stderr, "match at %d\n", r);
41
+ for (i = 0; i < region->num_regs; i++) {
42
+ fprintf(stderr, "%d: (%d-%d)\n", i, region->beg[i], region->end[i]);
43
+ }
44
+ }
45
+ else if (r == ONIG_MISMATCH) {
46
+ fprintf(stderr, "search fail\n");
47
+ }
48
+ else { /* error */
49
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
50
+ onig_error_code_to_str(s, r);
51
+ fprintf(stderr, "ERROR: %s\n", s);
52
+ return -1;
53
+ }
54
+
55
+ onig_region_free(region, 1 /* 1:free self, 0:free contents only */);
56
+ onig_free(reg);
57
+ onig_end();
58
+ return 0;
59
+ }
@@ -0,0 +1,76 @@
1
+ /*
2
+ * sql.c
3
+ */
4
+ #include <stdio.h>
5
+ #include <string.h>
6
+ #include "oniguruma.h"
7
+
8
+ extern int main(int argc, char* argv[])
9
+ {
10
+ static OnigSyntaxType SQLSyntax;
11
+
12
+ int r;
13
+ unsigned char *start, *range, *end;
14
+ regex_t* reg;
15
+ OnigErrorInfo einfo;
16
+ OnigRegion *region;
17
+
18
+ static UChar* pattern = (UChar* )"\\_%\\\\__zz";
19
+ static UChar* str = (UChar* )"a_abcabcabc\\ppzz";
20
+
21
+ OnigEncoding use_encs[] = { ONIG_ENCODING_ASCII };
22
+ onig_initialize(use_encs, sizeof(use_encs)/sizeof(use_encs[0]));
23
+
24
+ onig_set_syntax_op (&SQLSyntax, ONIG_SYN_OP_VARIABLE_META_CHARACTERS);
25
+ onig_set_syntax_op2 (&SQLSyntax, 0);
26
+ onig_set_syntax_behavior(&SQLSyntax, 0);
27
+ onig_set_syntax_options (&SQLSyntax, ONIG_OPTION_MULTILINE);
28
+ onig_set_meta_char(&SQLSyntax, ONIG_META_CHAR_ESCAPE, (OnigCodePoint )'\\');
29
+ onig_set_meta_char(&SQLSyntax, ONIG_META_CHAR_ANYCHAR, (OnigCodePoint )'_');
30
+ onig_set_meta_char(&SQLSyntax, ONIG_META_CHAR_ANYTIME,
31
+ ONIG_INEFFECTIVE_META_CHAR);
32
+ onig_set_meta_char(&SQLSyntax, ONIG_META_CHAR_ZERO_OR_ONE_TIME,
33
+ ONIG_INEFFECTIVE_META_CHAR);
34
+ onig_set_meta_char(&SQLSyntax, ONIG_META_CHAR_ONE_OR_MORE_TIME,
35
+ ONIG_INEFFECTIVE_META_CHAR);
36
+ onig_set_meta_char(&SQLSyntax, ONIG_META_CHAR_ANYCHAR_ANYTIME,
37
+ (OnigCodePoint )'%');
38
+
39
+ r = onig_new(&reg, pattern, pattern + strlen((char* )pattern),
40
+ ONIG_OPTION_DEFAULT, ONIG_ENCODING_ASCII, &SQLSyntax, &einfo);
41
+ if (r != ONIG_NORMAL) {
42
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
43
+ onig_error_code_to_str(s, r, &einfo);
44
+ fprintf(stderr, "ERROR: %s\n", s);
45
+ return -1;
46
+ }
47
+
48
+ region = onig_region_new();
49
+
50
+ end = str + strlen((char* )str);
51
+ start = str;
52
+ range = end;
53
+ r = onig_search(reg, str, end, start, range, region, ONIG_OPTION_NONE);
54
+ if (r >= 0) {
55
+ int i;
56
+
57
+ fprintf(stderr, "match at %d\n", r);
58
+ for (i = 0; i < region->num_regs; i++) {
59
+ fprintf(stderr, "%d: (%d-%d)\n", i, region->beg[i], region->end[i]);
60
+ }
61
+ }
62
+ else if (r == ONIG_MISMATCH) {
63
+ fprintf(stderr, "search fail\n");
64
+ }
65
+ else { /* error */
66
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
67
+ onig_error_code_to_str(s, r);
68
+ fprintf(stderr, "ERROR: %s\n", s);
69
+ return -1;
70
+ }
71
+
72
+ onig_region_free(region, 1 /* 1:free self, 0:free contents only */);
73
+ onig_free(reg);
74
+ onig_end();
75
+ return 0;
76
+ }
@@ -0,0 +1,76 @@
1
+ /*
2
+ * syntax.c
3
+ */
4
+ #include <stdio.h>
5
+ #include <string.h>
6
+ #include "oniguruma.h"
7
+
8
+ extern int exec(OnigSyntaxType* syntax,
9
+ char* apattern, char* astr)
10
+ {
11
+ int r;
12
+ unsigned char *start, *range, *end;
13
+ regex_t* reg;
14
+ OnigErrorInfo einfo;
15
+ OnigRegion *region;
16
+ UChar* pattern = (UChar* )apattern;
17
+ UChar* str = (UChar* )astr;
18
+
19
+ r = onig_new(&reg, pattern, pattern + strlen((char* )pattern),
20
+ ONIG_OPTION_DEFAULT, ONIG_ENCODING_ASCII, syntax, &einfo);
21
+ if (r != ONIG_NORMAL) {
22
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
23
+ onig_error_code_to_str(s, r, &einfo);
24
+ fprintf(stderr, "ERROR: %s\n", s);
25
+ return -1;
26
+ }
27
+
28
+ region = onig_region_new();
29
+
30
+ end = str + strlen((char* )str);
31
+ start = str;
32
+ range = end;
33
+ r = onig_search(reg, str, end, start, range, region, ONIG_OPTION_NONE);
34
+ if (r >= 0) {
35
+ int i;
36
+
37
+ fprintf(stderr, "match at %d\n", r);
38
+ for (i = 0; i < region->num_regs; i++) {
39
+ fprintf(stderr, "%d: (%d-%d)\n", i, region->beg[i], region->end[i]);
40
+ }
41
+ }
42
+ else if (r == ONIG_MISMATCH) {
43
+ fprintf(stderr, "search fail\n");
44
+ }
45
+ else { /* error */
46
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
47
+ onig_error_code_to_str(s, r);
48
+ fprintf(stderr, "ERROR: %s\n", s);
49
+ return -1;
50
+ }
51
+
52
+ onig_region_free(region, 1 /* 1:free self, 0:free contents only */);
53
+ onig_free(reg);
54
+ return 0;
55
+ }
56
+
57
+ extern int main(int argc, char* argv[])
58
+ {
59
+ int r;
60
+
61
+ OnigEncoding use_encs[] = { ONIG_ENCODING_ASCII };
62
+ onig_initialize(use_encs, sizeof(use_encs)/sizeof(use_encs[0]));
63
+
64
+ r = exec(ONIG_SYNTAX_PERL,
65
+ "\\p{XDigit}\\P{XDigit}\\p{^XDigit}\\P{^XDigit}\\p{XDigit}",
66
+ "bgh3a");
67
+
68
+ r = exec(ONIG_SYNTAX_JAVA,
69
+ "\\p{XDigit}\\P{XDigit}[a-c&&b-g]", "bgc");
70
+
71
+ r = exec(ONIG_SYNTAX_ASIS,
72
+ "abc def* e+ g?ddd[a-rvvv] (vv){3,7}hv\\dvv(?:aczui ss)\\W\\w$",
73
+ "abc def* e+ g?ddd[a-rvvv] (vv){3,7}hv\\dvv(?:aczui ss)\\W\\w$");
74
+ onig_end();
75
+ return r;
76
+ }
@@ -0,0 +1,87 @@
1
+ /*
2
+ * user_property.c
3
+ */
4
+ #include <stdio.h>
5
+ #include <string.h>
6
+ #include "oniguruma.h"
7
+
8
+ extern int
9
+ main(int argc, char* argv[])
10
+ {
11
+ int r;
12
+ unsigned char *start, *range, *end;
13
+ regex_t* reg;
14
+ OnigErrorInfo einfo;
15
+ OnigRegion *region;
16
+
17
+ static OnigCodePoint handakuon_hiragana[] = {
18
+ 5, /* number of ranges */
19
+ 0x3071, 0x3071, /* PA */
20
+ 0x3074, 0x3074, /* PI */
21
+ 0x3077, 0x3077, /* PU */
22
+ 0x307a, 0x307a, /* PE */
23
+ 0x307d, 0x307d /* PO */
24
+ };
25
+
26
+ static UChar* pattern = (UChar* )"\\A(\\p{HandakuonHiragana}{5})\\p{^HandakuonHiragana}\\z";
27
+ //static UChar* pattern = (UChar* )"\\p{Handakuon_Hiragana}{5}\\P{Handakuon Hiragana}";
28
+
29
+ /* "PA PI PU PE PO a" */
30
+ static UChar* str = (UChar* )"\343\201\261\343\201\264\343\201\267\343\201\272\343\201\275a";
31
+
32
+ OnigEncoding use_encs[] = { ONIG_ENCODING_UTF8 };
33
+ onig_initialize(use_encs, sizeof(use_encs)/sizeof(use_encs[0]));
34
+
35
+ r = onig_unicode_define_user_property("HandakuonHiragana",
36
+ handakuon_hiragana);
37
+ if (r == ONIG_NORMAL) {
38
+ fprintf(stdout, "define HandakuonHiragana\n");
39
+ }
40
+ else {
41
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
42
+ onig_error_code_to_str(s, r);
43
+ fprintf(stderr, "ERROR: %s\n", s);
44
+ return -1;
45
+ }
46
+
47
+ r = onig_new(&reg, pattern, pattern + strlen((char* )pattern),
48
+ ONIG_OPTION_DEFAULT, ONIG_ENCODING_UTF8, ONIG_SYNTAX_DEFAULT, &einfo);
49
+ if (r == ONIG_NORMAL) {
50
+ fprintf(stdout, "onig_new: success.\n");
51
+ }
52
+ else {
53
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
54
+ onig_error_code_to_str(s, r, &einfo);
55
+ fprintf(stderr, "onig_new: ERROR: %s\n", s);
56
+ return -1;
57
+ }
58
+
59
+ region = onig_region_new();
60
+
61
+ end = str + strlen((char* )str);
62
+ start = str;
63
+ range = end;
64
+ r = onig_search(reg, str, end, start, range, region, ONIG_OPTION_NONE);
65
+ if (r >= 0) {
66
+ int i;
67
+
68
+ fprintf(stderr, "match at %d\n", r);
69
+ for (i = 0; i < region->num_regs; i++) {
70
+ fprintf(stderr, "%d: (%d-%d)\n", i, region->beg[i], region->end[i]);
71
+ }
72
+ }
73
+ else if (r == ONIG_MISMATCH) {
74
+ fprintf(stderr, "search fail\n");
75
+ }
76
+ else { /* error */
77
+ char s[ONIG_MAX_ERROR_MESSAGE_LEN];
78
+ onig_error_code_to_str(s, r);
79
+ fprintf(stderr, "ERROR: %s\n", s);
80
+ return -1;
81
+ }
82
+
83
+ onig_region_free(region, 1 /* 1:free self, 0:free contents only */);
84
+ onig_free(reg);
85
+ onig_end();
86
+ return 0;
87
+ }
@@ -0,0 +1,58 @@
1
+ ## Makefile.am for Oniguruma
2
+ libname = libonig.la
3
+
4
+ AM_CFLAGS = -Wall
5
+ AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir)
6
+
7
+ include_HEADERS = oniguruma.h oniggnu.h onigposix.h
8
+ lib_LTLIBRARIES = $(libname)
9
+
10
+ libonig_la_SOURCES = regint.h regparse.h regenc.h st.h \
11
+ regerror.c regparse.c regext.c regcomp.c regexec.c reggnu.c \
12
+ regenc.c regsyntax.c regtrav.c regversion.c st.c \
13
+ regposix.c regposerr.c \
14
+ unicode.c \
15
+ unicode_unfold_key.c \
16
+ unicode_fold1_key.c \
17
+ unicode_fold2_key.c \
18
+ unicode_fold3_key.c \
19
+ ascii.c utf8.c \
20
+ utf16_be.c utf16_le.c \
21
+ utf32_be.c utf32_le.c \
22
+ euc_jp.c euc_jp_prop.c \
23
+ sjis.c sjis_prop.c \
24
+ iso8859_1.c \
25
+ iso8859_2.c iso8859_3.c \
26
+ iso8859_4.c iso8859_5.c \
27
+ iso8859_6.c iso8859_7.c \
28
+ iso8859_8.c iso8859_9.c \
29
+ iso8859_10.c iso8859_11.c \
30
+ iso8859_13.c iso8859_14.c \
31
+ iso8859_15.c iso8859_16.c \
32
+ euc_tw.c euc_kr.c big5.c \
33
+ gb18030.c koi8_r.c cp1251.c \
34
+ onig_init.c
35
+
36
+ libonig_la_LDFLAGS = -version-info $(LTVERSION)
37
+
38
+ EXTRA_DIST = koi8.c mktable.c \
39
+ unicode_fold_data.c unicode_property_data.c \
40
+ unicode_property_data_posix.c \
41
+ make_unicode_fold.sh make_unicode_fold_data.py \
42
+ make_unicode_property.sh make_unicode_property_data.py \
43
+ gperf_fold_key_conv.py gperf_unfold_key_conv.py \
44
+ unicode-7.0/unicode_fold1_key.c unicode-7.0/unicode_fold2_key.c \
45
+ unicode-7.0/unicode_fold3_key.c unicode-7.0/unicode_fold_data.c \
46
+ unicode-7.0/unicode_property_data.c \
47
+ unicode-7.0/unicode_property_data_posix.c \
48
+ unicode-7.0/unicode_unfold_key.c
49
+
50
+ dll:
51
+ $(CXX) -shared -Wl,--output-def,libonig.def -o libonig.dll *.o \
52
+ $(LIBS)
53
+ strip libonig.dll
54
+
55
+
56
+ # character-types-table source generator
57
+ mktable: mktable.c regenc.h
58
+ $(CC) -I$(top_srcdir) -o mktable mktable.c
@@ -0,0 +1,183 @@
1
+ # Oniguruma Makefile for Windows
2
+
3
+ product_name = oniguruma
4
+
5
+ CPPFLAGS =
6
+ CFLAGS = -O2 -nologo /W3
7
+ LDFLAGS =
8
+ LOADLIBES =
9
+ ARLIB = lib
10
+ ARLIB_FLAGS = -nologo
11
+ ARDLL = cl
12
+ ARDLL_FLAGS = -nologo -LD $(LINKFLAGS) -dll
13
+ LINKFLAGS = -link -incremental:no -pdb:none
14
+
15
+ INSTALL = install -c
16
+ CP = copy
17
+ CC = cl
18
+ DEFS = -DHAVE_CONFIG_H -DNOT_RUBY -DEXPORT
19
+ RUBYDIR = ..
20
+
21
+ subdirs =
22
+
23
+ libbase = onig
24
+ libname = $(libbase)_s.lib
25
+ dllname = $(libbase).dll
26
+ dlllib = $(libbase).lib
27
+
28
+ onigheaders = oniguruma.h regint.h regparse.h regenc.h st.h
29
+ posixheaders = onigposix.h
30
+ headers = $(posixheaders) $(onigheaders)
31
+
32
+ onigobjs = reggnu.obj regerror.obj regparse.obj regext.obj regcomp.obj \
33
+ regexec.obj regenc.obj regsyntax.obj regtrav.obj \
34
+ regversion.obj st.obj onig_init.obj
35
+ posixobjs = regposix.obj regposerr.obj
36
+ libobjs = $(onigobjs) $(posixobjs)
37
+
38
+ jp_objs = euc_jp.obj sjis.obj
39
+ iso8859_objs = iso8859_1.obj iso8859_2.obj \
40
+ iso8859_3.obj iso8859_4.obj \
41
+ iso8859_5.obj iso8859_6.obj \
42
+ iso8859_7.obj iso8859_8.obj \
43
+ iso8859_9.obj iso8859_10.obj \
44
+ iso8859_11.obj iso8859_13.obj \
45
+ iso8859_14.obj iso8859_15.obj \
46
+ iso8859_16.obj
47
+
48
+ encobjs = ascii.obj utf8.obj \
49
+ unicode.obj \
50
+ utf16_be.obj utf16_le.obj \
51
+ utf32_be.obj utf32_le.obj \
52
+ $(jp_objs) $(iso8859_objs) \
53
+ euc_tw.obj euc_kr.obj big5.obj \
54
+ gb18030.obj \
55
+ koi8_r.obj \
56
+ cp1251.obj \
57
+ euc_jp_prop.obj sjis_prop.obj \
58
+ unicode_unfold_key.obj unicode_fold1_key.obj \
59
+ unicode_fold2_key.obj unicode_fold3_key.obj # koi8.obj
60
+
61
+ onigsources = regerror.c regparse.c regext.c regcomp.c regexec.c regenc.c \
62
+ regsyntax.c regtrav.c regversion.c reggnu.c st.c
63
+ posixsources = regposix.c regposerr.c
64
+ libsources = $(posixsources) $(onigsources)
65
+ rubysources = $(onigsources)
66
+
67
+ patchfiles = re.c.168.patch re.c.181.patch
68
+ distfiles = README COPYING HISTORY \
69
+ Makefile.in configure.in config.h.in configure \
70
+ $(headers) $(libsources) $(patchfiles) \
71
+ test.rb testconv.rb
72
+ testc = testc
73
+ testp = testp
74
+
75
+ makeargs = $(MFLAGS) CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' CC='$(CC)'
76
+
77
+ .SUFFIXES:
78
+ .SUFFIXES: .obj .c .h .ps .dvi .info .texinfo
79
+
80
+ .c.obj:
81
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) /I. /I.. /Fo$@ /c $<
82
+
83
+ # targets
84
+ default: all
85
+
86
+ setup:
87
+ $(CP) ..\win32\config.h config.h
88
+ $(CP) ..\win32\testc.c testc.c
89
+
90
+
91
+ all: $(libname) $(dllname)
92
+
93
+ $(libname): $(libobjs) $(encobjs)
94
+ $(ARLIB) $(ARLIB_FLAGS) -out:$@ $(libobjs) $(encobjs)
95
+
96
+ $(dllname): $(libobjs) $(encobjs)
97
+ $(ARDLL) $(libobjs) $(encobjs) -Fe$@ $(ARDLL_FLAGS)
98
+
99
+ regparse.obj: regparse.c $(onigheaders) config.h st.h
100
+ regext.obj: regext.c $(onigheaders) config.h
101
+ regtrav.obj: regtrav.c $(onigheaders) config.h
102
+ regcomp.obj: regcomp.c $(onigheaders) config.h
103
+ regexec.obj: regexec.c regint.h regenc.h oniguruma.h config.h
104
+ reggnu.obj: reggnu.c regint.h regenc.h oniguruma.h config.h oniggnu.h
105
+ regerror.obj: regerror.c regint.h regenc.h oniguruma.h config.h
106
+ regenc.obj: regenc.c regenc.h oniguruma.h config.h
107
+ regsyntax.obj: regsyntax.c regint.h regenc.h oniguruma.h config.h
108
+ regversion.obj: regversion.c oniguruma.h config.h
109
+ regposix.obj: regposix.c $(posixheaders) oniguruma.h config.h
110
+ regposerr.obj: regposerr.c $(posixheaders) config.h
111
+ st.obj: st.c regint.h oniguruma.h config.h st.h
112
+ onig_init.obj: onig_init.c oniguruma.h
113
+
114
+ ascii.obj: ascii.c regenc.h config.h
115
+ unicode.obj: unicode.c unicode_fold_data.c unicode_property_data.c regenc.h config.h
116
+ utf8.obj: utf8.c regenc.h config.h
117
+ utf16_be.obj: utf16_be.c regenc.h config.h
118
+ utf16_le.obj: utf16_le.c regenc.h config.h
119
+ utf32_be.obj: utf32_be.c regenc.h config.h
120
+ utf32_le.obj: utf32_le.c regenc.h config.h
121
+ euc_jp.obj: euc_jp.c regenc.h config.h
122
+ euc_tw.obj: euc_tw.c regenc.h config.h
123
+ euc_kr.obj: euc_kr.c regenc.h config.h
124
+ sjis.obj: sjis.c regenc.h config.h
125
+ iso8859_1.obj: iso8859_1.c regenc.h config.h
126
+ iso8859_2.obj: iso8859_2.c regenc.h config.h
127
+ iso8859_3.obj: iso8859_3.c regenc.h config.h
128
+ iso8859_4.obj: iso8859_4.c regenc.h config.h
129
+ iso8859_5.obj: iso8859_5.c regenc.h config.h
130
+ iso8859_6.obj: iso8859_6.c regenc.h config.h
131
+ iso8859_7.obj: iso8859_7.c regenc.h config.h
132
+ iso8859_8.obj: iso8859_8.c regenc.h config.h
133
+ iso8859_9.obj: iso8859_9.c regenc.h config.h
134
+ iso8859_10.obj: iso8859_10.c regenc.h config.h
135
+ iso8859_11.obj: iso8859_11.c regenc.h config.h
136
+ iso8859_13.obj: iso8859_13.c regenc.h config.h
137
+ iso8859_14.obj: iso8859_14.c regenc.h config.h
138
+ iso8859_15.obj: iso8859_15.c regenc.h config.h
139
+ iso8859_16.obj: iso8859_16.c regenc.h config.h
140
+ koi8.obj: koi8.c regenc.h config.h
141
+ koi8_r.obj: koi8_r.c regenc.h config.h
142
+ cp1251.obj: cp1251.c regenc.h config.h
143
+ big5.obj: big5.c regenc.h config.h
144
+ gb18030.obj: gb18030.c regenc.h config.h
145
+ euc_jp_prop.obj: euc_jp_prop.c regenc.h
146
+ sjis_prop.obj: sjis_prop.c regenc.h
147
+ unicode_unfold_key.obj: unicode_unfold_key.c regenc.h config.h
148
+ unicode_fold1_key.obj: unicode_fold1_key.c regenc.h config.h
149
+ unicode_fold2_key.obj: unicode_fold2_key.c regenc.h config.h
150
+ unicode_fold3_key.obj: unicode_fold3_key.c regenc.h config.h
151
+
152
+ # C library test
153
+ ctest: $(testc)
154
+ .\$(testc)
155
+
156
+ # POSIX C library test
157
+ ptest: $(testp)
158
+ .\$(testp)
159
+
160
+ $(testc): $(testc).c $(libname)
161
+ $(CC) -nologo -o $(testc) -DONIG_EXTERN=extern $(testc).c $(libname)
162
+
163
+ $(testp): $(testc).c $(dlllib)
164
+ $(CC) -nologo -DPOSIX_TEST -o $(testp) $(testc).c $(dlllib)
165
+
166
+ #$(testc)u.c: test.rb testconvu.rb
167
+ # ruby -Ke testconvu.rb test.rb > $@
168
+
169
+ $(testc)u: $(testc)u.c $(libname)
170
+ $(CC) -nologo -o $(testc)u -DONIG_EXTERN=extern $(testc)u.c $(libname)
171
+
172
+ clean:
173
+ del *.obj *.lib *.exp *.dll $(testp).exe $(testc).exe $(testc).obj
174
+
175
+
176
+ samples: all
177
+ $(CC) $(CFLAGS) -I. -o simple sample\simple.c $(dlllib)
178
+ $(CC) $(CFLAGS) -I. -o posix sample\posix.c $(dlllib)
179
+ $(CC) $(CFLAGS) -I. -o names sample\names.c $(dlllib)
180
+ $(CC) $(CFLAGS) -I. -o listcap sample\listcap.c $(dlllib)
181
+ $(CC) $(CFLAGS) -I. -o sql sample\sql.c $(dlllib)
182
+ $(CC) $(CFLAGS) -I. -o encode sample\encode.c $(dlllib)
183
+ $(CC) $(CFLAGS) -I. -o syntax sample\syntax.c $(dlllib)
@@ -0,0 +1,61 @@
1
+ /**********************************************************************
2
+ ascii.c - Oniguruma (regular expression library)
3
+ **********************************************************************/
4
+ /*-
5
+ * Copyright (c) 2002-2016 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions
10
+ * are met:
11
+ * 1. Redistributions of source code must retain the above copyright
12
+ * notice, this list of conditions and the following disclaimer.
13
+ * 2. Redistributions in binary form must reproduce the above copyright
14
+ * notice, this list of conditions and the following disclaimer in the
15
+ * documentation and/or other materials provided with the distribution.
16
+ *
17
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
+ * SUCH DAMAGE.
28
+ */
29
+
30
+ #include "regenc.h"
31
+
32
+ static int
33
+ ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype)
34
+ {
35
+ if (code < 128)
36
+ return ONIGENC_IS_ASCII_CODE_CTYPE(code, ctype);
37
+ else
38
+ return FALSE;
39
+ }
40
+
41
+ OnigEncodingType OnigEncodingASCII = {
42
+ onigenc_single_byte_mbc_enc_len,
43
+ "US-ASCII", /* name */
44
+ 1, /* max byte length */
45
+ 1, /* min byte length */
46
+ onigenc_is_mbc_newline_0x0a,
47
+ onigenc_single_byte_mbc_to_code,
48
+ onigenc_single_byte_code_to_mbclen,
49
+ onigenc_single_byte_code_to_mbc,
50
+ onigenc_ascii_mbc_case_fold,
51
+ onigenc_ascii_apply_all_case_fold,
52
+ onigenc_ascii_get_case_fold_codes_by_str,
53
+ onigenc_minimum_property_name_to_ctype,
54
+ ascii_is_code_ctype,
55
+ onigenc_not_support_get_ctype_code_range,
56
+ onigenc_single_byte_left_adjust_char_head,
57
+ onigenc_always_true_is_allowed_reverse_match,
58
+ NULL, /* init */
59
+ NULL, /* is_initialized */
60
+ onigenc_always_true_is_valid_mbc_string
61
+ };