rugged 0.28.4 → 0.28.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +0 -1
  4. data/vendor/libgit2/CMakeLists.txt +16 -36
  5. data/vendor/libgit2/COPYING +0 -28
  6. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +1 -5
  7. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  8. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  10. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +0 -6
  11. data/vendor/libgit2/deps/http-parser/http_parser.c +6 -11
  12. data/vendor/libgit2/deps/regex/CMakeLists.txt +2 -0
  13. data/vendor/libgit2/deps/regex/COPYING +502 -0
  14. data/vendor/libgit2/deps/regex/config.h +7 -0
  15. data/vendor/libgit2/deps/regex/regcomp.c +3857 -0
  16. data/vendor/libgit2/deps/regex/regex.c +92 -0
  17. data/vendor/libgit2/deps/regex/regex.h +582 -0
  18. data/vendor/libgit2/deps/regex/regex_internal.c +1744 -0
  19. data/vendor/libgit2/deps/regex/regex_internal.h +819 -0
  20. data/vendor/libgit2/deps/regex/regexec.c +4369 -0
  21. data/vendor/libgit2/deps/zlib/adler32.c +7 -0
  22. data/vendor/libgit2/deps/zlib/crc32.c +7 -0
  23. data/vendor/libgit2/include/git2.h +0 -2
  24. data/vendor/libgit2/include/git2/apply.h +2 -22
  25. data/vendor/libgit2/include/git2/attr.h +12 -19
  26. data/vendor/libgit2/include/git2/blame.h +2 -2
  27. data/vendor/libgit2/include/git2/blob.h +12 -44
  28. data/vendor/libgit2/include/git2/buffer.h +14 -20
  29. data/vendor/libgit2/include/git2/checkout.h +14 -46
  30. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  31. data/vendor/libgit2/include/git2/clone.h +2 -2
  32. data/vendor/libgit2/include/git2/commit.h +1 -23
  33. data/vendor/libgit2/include/git2/common.h +5 -7
  34. data/vendor/libgit2/include/git2/config.h +12 -12
  35. data/vendor/libgit2/include/git2/deprecated.h +3 -243
  36. data/vendor/libgit2/include/git2/describe.h +4 -4
  37. data/vendor/libgit2/include/git2/diff.h +14 -16
  38. data/vendor/libgit2/include/git2/filter.h +0 -8
  39. data/vendor/libgit2/include/git2/index.h +1 -2
  40. data/vendor/libgit2/include/git2/indexer.h +4 -48
  41. data/vendor/libgit2/include/git2/inttypes.h +309 -0
  42. data/vendor/libgit2/include/git2/merge.h +10 -6
  43. data/vendor/libgit2/include/git2/net.h +5 -0
  44. data/vendor/libgit2/include/git2/object.h +14 -2
  45. data/vendor/libgit2/include/git2/odb.h +2 -3
  46. data/vendor/libgit2/include/git2/odb_backend.h +4 -5
  47. data/vendor/libgit2/include/git2/oid.h +1 -1
  48. data/vendor/libgit2/include/git2/pack.h +1 -12
  49. data/vendor/libgit2/include/git2/proxy.h +3 -5
  50. data/vendor/libgit2/include/git2/rebase.h +2 -46
  51. data/vendor/libgit2/include/git2/refs.h +0 -19
  52. data/vendor/libgit2/include/git2/remote.h +12 -35
  53. data/vendor/libgit2/include/git2/repository.h +2 -24
  54. data/vendor/libgit2/include/git2/revert.h +1 -1
  55. data/vendor/libgit2/include/git2/stash.h +3 -3
  56. data/vendor/libgit2/include/git2/status.h +16 -25
  57. data/vendor/libgit2/include/git2/submodule.h +3 -20
  58. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  59. data/vendor/libgit2/include/git2/sys/odb_backend.h +4 -48
  60. data/vendor/libgit2/include/git2/sys/refdb_backend.h +21 -57
  61. data/vendor/libgit2/include/git2/sys/repository.h +1 -5
  62. data/vendor/libgit2/include/git2/sys/time.h +31 -0
  63. data/vendor/libgit2/include/git2/sys/transport.h +2 -2
  64. data/vendor/libgit2/include/git2/tag.h +2 -11
  65. data/vendor/libgit2/include/git2/trace.h +2 -2
  66. data/vendor/libgit2/include/git2/transport.h +340 -11
  67. data/vendor/libgit2/include/git2/tree.h +1 -1
  68. data/vendor/libgit2/include/git2/types.h +89 -4
  69. data/vendor/libgit2/include/git2/version.h +2 -2
  70. data/vendor/libgit2/include/git2/worktree.h +5 -5
  71. data/vendor/libgit2/libgit2.pc.in +13 -0
  72. data/vendor/libgit2/src/CMakeLists.txt +222 -88
  73. data/vendor/libgit2/src/alloc.c +14 -2
  74. data/vendor/libgit2/src/apply.c +30 -60
  75. data/vendor/libgit2/src/attr.c +64 -70
  76. data/vendor/libgit2/src/attr_file.c +96 -189
  77. data/vendor/libgit2/src/attr_file.h +9 -9
  78. data/vendor/libgit2/src/attrcache.c +46 -44
  79. data/vendor/libgit2/src/attrcache.h +1 -2
  80. data/vendor/libgit2/src/blame.c +5 -17
  81. data/vendor/libgit2/src/blame.h +1 -1
  82. data/vendor/libgit2/src/blame_git.c +7 -21
  83. data/vendor/libgit2/src/blob.c +17 -81
  84. data/vendor/libgit2/src/blob.h +2 -2
  85. data/vendor/libgit2/src/branch.c +5 -29
  86. data/vendor/libgit2/src/buffer.c +7 -14
  87. data/vendor/libgit2/src/cache.c +33 -26
  88. data/vendor/libgit2/src/cache.h +1 -1
  89. data/vendor/libgit2/src/cc-compat.h +0 -5
  90. data/vendor/libgit2/src/checkout.c +16 -26
  91. data/vendor/libgit2/src/cherrypick.c +3 -9
  92. data/vendor/libgit2/src/clone.c +7 -29
  93. data/vendor/libgit2/src/clone.h +0 -4
  94. data/vendor/libgit2/src/commit.c +21 -69
  95. data/vendor/libgit2/src/commit.h +0 -6
  96. data/vendor/libgit2/src/commit_list.c +76 -28
  97. data/vendor/libgit2/src/commit_list.h +2 -2
  98. data/vendor/libgit2/src/common.h +75 -3
  99. data/vendor/libgit2/src/config.c +40 -31
  100. data/vendor/libgit2/src/config.h +6 -7
  101. data/vendor/libgit2/src/config_backend.h +0 -12
  102. data/vendor/libgit2/src/config_cache.c +39 -39
  103. data/vendor/libgit2/src/config_entries.c +99 -69
  104. data/vendor/libgit2/src/config_entries.h +0 -1
  105. data/vendor/libgit2/src/config_file.c +380 -337
  106. data/vendor/libgit2/src/config_mem.c +16 -12
  107. data/vendor/libgit2/src/config_parse.c +29 -49
  108. data/vendor/libgit2/src/config_parse.h +12 -13
  109. data/vendor/libgit2/src/crlf.c +14 -14
  110. data/vendor/libgit2/src/describe.c +20 -21
  111. data/vendor/libgit2/src/diff.c +58 -43
  112. data/vendor/libgit2/src/diff.h +1 -2
  113. data/vendor/libgit2/src/diff_driver.c +38 -37
  114. data/vendor/libgit2/src/diff_file.c +7 -9
  115. data/vendor/libgit2/src/diff_file.h +1 -1
  116. data/vendor/libgit2/src/diff_generate.c +85 -135
  117. data/vendor/libgit2/src/diff_generate.h +2 -2
  118. data/vendor/libgit2/src/diff_parse.c +1 -1
  119. data/vendor/libgit2/src/diff_print.c +13 -25
  120. data/vendor/libgit2/src/diff_stats.c +1 -1
  121. data/vendor/libgit2/src/diff_tform.c +4 -4
  122. data/vendor/libgit2/src/errors.c +22 -12
  123. data/vendor/libgit2/src/features.h.in +2 -9
  124. data/vendor/libgit2/src/fetch.c +2 -7
  125. data/vendor/libgit2/src/fetchhead.c +1 -1
  126. data/vendor/libgit2/src/filebuf.c +10 -6
  127. data/vendor/libgit2/src/filebuf.h +2 -2
  128. data/vendor/libgit2/src/{futils.c → fileops.c} +17 -21
  129. data/vendor/libgit2/src/{futils.h → fileops.h} +5 -5
  130. data/vendor/libgit2/src/filter.c +8 -16
  131. data/vendor/libgit2/src/fnmatch.c +248 -0
  132. data/vendor/libgit2/src/fnmatch.h +48 -0
  133. data/vendor/libgit2/src/global.c +40 -12
  134. data/vendor/libgit2/src/global.h +2 -0
  135. data/vendor/libgit2/src/hash.c +0 -61
  136. data/vendor/libgit2/src/hash.h +21 -19
  137. data/vendor/libgit2/src/hash/{sha1/collisiondetect.c → hash_collisiondetect.h} +17 -14
  138. data/vendor/libgit2/src/hash/{sha1/common_crypto.c → hash_common_crypto.h} +19 -15
  139. data/vendor/libgit2/src/hash/{sha1/generic.c → hash_generic.c} +10 -22
  140. data/vendor/libgit2/src/hash/{sha1/generic.h → hash_generic.h} +14 -4
  141. data/vendor/libgit2/src/hash/{sha1/mbedtls.c → hash_mbedtls.c} +7 -15
  142. data/vendor/libgit2/src/hash/{sha1/mbedtls.h → hash_mbedtls.h} +11 -6
  143. data/vendor/libgit2/src/hash/{sha1/openssl.c → hash_openssl.h} +18 -14
  144. data/vendor/libgit2/src/hash/{sha1/win32.c → hash_win32.c} +24 -34
  145. data/vendor/libgit2/src/hash/{sha1/win32.h → hash_win32.h} +19 -6
  146. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.c +3 -14
  147. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.h +0 -0
  148. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.c +0 -0
  149. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.h +0 -0
  150. data/vendor/libgit2/src/hashsig.c +1 -1
  151. data/vendor/libgit2/src/idxmap.c +65 -91
  152. data/vendor/libgit2/src/idxmap.h +15 -151
  153. data/vendor/libgit2/src/ignore.c +38 -32
  154. data/vendor/libgit2/src/index.c +43 -66
  155. data/vendor/libgit2/src/index.h +1 -1
  156. data/vendor/libgit2/src/indexer.c +70 -69
  157. data/vendor/libgit2/src/integer.h +4 -39
  158. data/vendor/libgit2/src/iterator.c +22 -27
  159. data/vendor/libgit2/src/map.h +1 -1
  160. data/vendor/libgit2/src/merge.c +44 -58
  161. data/vendor/libgit2/src/merge_driver.c +4 -4
  162. data/vendor/libgit2/src/merge_file.c +1 -1
  163. data/vendor/libgit2/src/mwindow.c +23 -18
  164. data/vendor/libgit2/src/mwindow.h +4 -4
  165. data/vendor/libgit2/src/netops.c +165 -55
  166. data/vendor/libgit2/src/netops.h +25 -3
  167. data/vendor/libgit2/src/notes.c +2 -2
  168. data/vendor/libgit2/src/object.c +2 -2
  169. data/vendor/libgit2/src/object.h +0 -2
  170. data/vendor/libgit2/src/odb.c +23 -41
  171. data/vendor/libgit2/src/odb.h +2 -3
  172. data/vendor/libgit2/src/odb_loose.c +10 -17
  173. data/vendor/libgit2/src/odb_mempack.c +23 -10
  174. data/vendor/libgit2/src/odb_pack.c +4 -4
  175. data/vendor/libgit2/src/offmap.c +55 -43
  176. data/vendor/libgit2/src/offmap.h +24 -102
  177. data/vendor/libgit2/src/oid.c +1 -6
  178. data/vendor/libgit2/src/oidmap.c +57 -39
  179. data/vendor/libgit2/src/oidmap.h +19 -99
  180. data/vendor/libgit2/src/pack-objects.c +32 -25
  181. data/vendor/libgit2/src/pack-objects.h +1 -1
  182. data/vendor/libgit2/src/pack.c +47 -45
  183. data/vendor/libgit2/src/pack.h +14 -12
  184. data/vendor/libgit2/src/parse.c +0 -10
  185. data/vendor/libgit2/src/parse.h +3 -3
  186. data/vendor/libgit2/src/patch.c +1 -1
  187. data/vendor/libgit2/src/patch_generate.c +2 -2
  188. data/vendor/libgit2/src/patch_parse.c +31 -124
  189. data/vendor/libgit2/src/path.c +6 -43
  190. data/vendor/libgit2/src/path.h +0 -2
  191. data/vendor/libgit2/src/pathspec.c +13 -13
  192. data/vendor/libgit2/src/pool.c +22 -26
  193. data/vendor/libgit2/src/pool.h +7 -7
  194. data/vendor/libgit2/src/posix.c +7 -7
  195. data/vendor/libgit2/src/posix.h +1 -12
  196. data/vendor/libgit2/src/proxy.c +2 -7
  197. data/vendor/libgit2/src/push.c +5 -10
  198. data/vendor/libgit2/src/reader.c +2 -2
  199. data/vendor/libgit2/src/rebase.c +7 -66
  200. data/vendor/libgit2/src/refdb.c +0 -12
  201. data/vendor/libgit2/src/refdb_fs.c +165 -214
  202. data/vendor/libgit2/src/reflog.c +13 -11
  203. data/vendor/libgit2/src/refs.c +18 -24
  204. data/vendor/libgit2/src/refspec.c +16 -9
  205. data/vendor/libgit2/src/remote.c +52 -50
  206. data/vendor/libgit2/src/remote.h +2 -2
  207. data/vendor/libgit2/src/repository.c +100 -115
  208. data/vendor/libgit2/src/repository.h +40 -49
  209. data/vendor/libgit2/src/revert.c +3 -8
  210. data/vendor/libgit2/src/revparse.c +19 -18
  211. data/vendor/libgit2/src/revwalk.c +30 -63
  212. data/vendor/libgit2/src/revwalk.h +0 -20
  213. data/vendor/libgit2/src/settings.c +0 -5
  214. data/vendor/libgit2/src/sortedcache.c +26 -12
  215. data/vendor/libgit2/src/sortedcache.h +1 -1
  216. data/vendor/libgit2/src/stash.c +65 -45
  217. data/vendor/libgit2/src/status.c +9 -15
  218. data/vendor/libgit2/src/{allocators/stdalloc.c → stdalloc.c} +4 -3
  219. data/vendor/libgit2/src/{allocators/stdalloc.h → stdalloc.h} +4 -4
  220. data/vendor/libgit2/src/streams/openssl.c +0 -20
  221. data/vendor/libgit2/src/streams/socket.c +2 -2
  222. data/vendor/libgit2/src/strmap.c +84 -37
  223. data/vendor/libgit2/src/strmap.h +33 -105
  224. data/vendor/libgit2/src/submodule.c +70 -102
  225. data/vendor/libgit2/src/submodule.h +1 -1
  226. data/vendor/libgit2/src/sysdir.c +1 -11
  227. data/vendor/libgit2/src/tag.c +2 -10
  228. data/vendor/libgit2/src/trace.c +1 -1
  229. data/vendor/libgit2/src/trace.h +2 -2
  230. data/vendor/libgit2/src/trailer.c +32 -46
  231. data/vendor/libgit2/src/transaction.c +9 -10
  232. data/vendor/libgit2/src/transports/auth.c +9 -10
  233. data/vendor/libgit2/src/transports/auth.h +4 -11
  234. data/vendor/libgit2/src/transports/auth_negotiate.c +9 -23
  235. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  236. data/vendor/libgit2/src/transports/cred.c +6 -6
  237. data/vendor/libgit2/src/{allocators/win32_crtdbg.h → transports/cred.h} +4 -5
  238. data/vendor/libgit2/src/transports/git.c +16 -11
  239. data/vendor/libgit2/src/transports/http.c +276 -419
  240. data/vendor/libgit2/src/transports/http.h +1 -1
  241. data/vendor/libgit2/src/transports/local.c +9 -9
  242. data/vendor/libgit2/src/transports/smart.c +17 -17
  243. data/vendor/libgit2/src/transports/smart.h +2 -2
  244. data/vendor/libgit2/src/transports/smart_protocol.c +60 -36
  245. data/vendor/libgit2/src/transports/ssh.c +36 -46
  246. data/vendor/libgit2/src/transports/winhttp.c +207 -231
  247. data/vendor/libgit2/src/tree-cache.c +7 -14
  248. data/vendor/libgit2/src/tree.c +24 -10
  249. data/vendor/libgit2/src/unix/map.c +1 -1
  250. data/vendor/libgit2/src/unix/posix.h +11 -1
  251. data/vendor/libgit2/src/userdiff.h +1 -3
  252. data/vendor/libgit2/src/util.c +53 -51
  253. data/vendor/libgit2/src/util.h +21 -16
  254. data/vendor/libgit2/src/win32/map.c +5 -3
  255. data/vendor/libgit2/src/win32/path_w32.c +2 -12
  256. data/vendor/libgit2/src/win32/path_w32.h +29 -0
  257. data/vendor/libgit2/src/win32/posix.h +4 -1
  258. data/vendor/libgit2/src/win32/posix_w32.c +5 -40
  259. data/vendor/libgit2/src/win32/precompiled.h +2 -0
  260. data/vendor/libgit2/src/win32/thread.c +10 -5
  261. data/vendor/libgit2/src/win32/w32_buffer.c +3 -7
  262. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +93 -0
  263. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +2 -0
  264. data/vendor/libgit2/src/win32/w32_stack.c +9 -4
  265. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  266. data/vendor/libgit2/src/win32/w32_util.c +0 -31
  267. data/vendor/libgit2/src/win32/w32_util.h +32 -6
  268. data/vendor/libgit2/src/worktree.c +22 -36
  269. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  270. data/vendor/libgit2/src/xdiff/xmerge.c +0 -12
  271. data/vendor/libgit2/src/xdiff/xpatience.c +0 -3
  272. metadata +34 -98
  273. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +0 -28
  274. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +0 -38
  275. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +0 -37
  276. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +0 -110
  277. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +0 -53
  278. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +0 -124
  279. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +0 -66
  280. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +0 -21
  281. data/vendor/libgit2/deps/ntlmclient/compat.h +0 -33
  282. data/vendor/libgit2/deps/ntlmclient/crypt.h +0 -64
  283. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +0 -120
  284. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +0 -18
  285. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -145
  286. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +0 -18
  287. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +0 -130
  288. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +0 -21
  289. data/vendor/libgit2/deps/ntlmclient/ntlm.c +0 -1420
  290. data/vendor/libgit2/deps/ntlmclient/ntlm.h +0 -174
  291. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +0 -320
  292. data/vendor/libgit2/deps/ntlmclient/unicode.h +0 -36
  293. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +0 -445
  294. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +0 -201
  295. data/vendor/libgit2/deps/ntlmclient/utf8.h +0 -1257
  296. data/vendor/libgit2/deps/ntlmclient/util.c +0 -21
  297. data/vendor/libgit2/deps/ntlmclient/util.h +0 -14
  298. data/vendor/libgit2/deps/pcre/CMakeLists.txt +0 -140
  299. data/vendor/libgit2/deps/pcre/COPYING +0 -5
  300. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
  301. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +0 -17
  302. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
  303. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +0 -29
  304. data/vendor/libgit2/deps/pcre/config.h.in +0 -57
  305. data/vendor/libgit2/deps/pcre/pcre.h +0 -641
  306. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +0 -319
  307. data/vendor/libgit2/deps/pcre/pcre_chartables.c +0 -198
  308. data/vendor/libgit2/deps/pcre/pcre_compile.c +0 -9800
  309. data/vendor/libgit2/deps/pcre/pcre_config.c +0 -190
  310. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +0 -3676
  311. data/vendor/libgit2/deps/pcre/pcre_exec.c +0 -7173
  312. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +0 -245
  313. data/vendor/libgit2/deps/pcre/pcre_get.c +0 -669
  314. data/vendor/libgit2/deps/pcre/pcre_globals.c +0 -86
  315. data/vendor/libgit2/deps/pcre/pcre_internal.h +0 -2787
  316. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +0 -11913
  317. data/vendor/libgit2/deps/pcre/pcre_maketables.c +0 -156
  318. data/vendor/libgit2/deps/pcre/pcre_newline.c +0 -210
  319. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +0 -94
  320. data/vendor/libgit2/deps/pcre/pcre_printint.c +0 -834
  321. data/vendor/libgit2/deps/pcre/pcre_refcount.c +0 -92
  322. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +0 -211
  323. data/vendor/libgit2/deps/pcre/pcre_study.c +0 -1686
  324. data/vendor/libgit2/deps/pcre/pcre_tables.c +0 -727
  325. data/vendor/libgit2/deps/pcre/pcre_ucd.c +0 -3644
  326. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +0 -301
  327. data/vendor/libgit2/deps/pcre/pcre_version.c +0 -98
  328. data/vendor/libgit2/deps/pcre/pcre_xclass.c +0 -268
  329. data/vendor/libgit2/deps/pcre/pcreposix.c +0 -421
  330. data/vendor/libgit2/deps/pcre/pcreposix.h +0 -117
  331. data/vendor/libgit2/deps/pcre/ucp.h +0 -224
  332. data/vendor/libgit2/include/git2/cert.h +0 -135
  333. data/vendor/libgit2/include/git2/cred.h +0 -308
  334. data/vendor/libgit2/include/git2/sys/cred.h +0 -90
  335. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  336. data/vendor/libgit2/src/config_snapshot.c +0 -206
  337. data/vendor/libgit2/src/errors.h +0 -81
  338. data/vendor/libgit2/src/hash/sha1.h +0 -38
  339. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +0 -19
  340. data/vendor/libgit2/src/hash/sha1/common_crypto.h +0 -19
  341. data/vendor/libgit2/src/hash/sha1/openssl.h +0 -19
  342. data/vendor/libgit2/src/net.c +0 -184
  343. data/vendor/libgit2/src/net.h +0 -36
  344. data/vendor/libgit2/src/regexp.c +0 -221
  345. data/vendor/libgit2/src/regexp.h +0 -97
  346. data/vendor/libgit2/src/transports/auth_ntlm.c +0 -223
  347. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -35
  348. data/vendor/libgit2/src/wildmatch.c +0 -320
  349. data/vendor/libgit2/src/wildmatch.h +0 -23
  350. data/vendor/libgit2/src/win32/w32_common.h +0 -39
@@ -1,245 +0,0 @@
1
- /*************************************************
2
- * Perl-Compatible Regular Expressions *
3
- *************************************************/
4
-
5
- /* PCRE is a library of functions to support regular expressions whose syntax
6
- and semantics are as close as possible to those of the Perl 5 language.
7
-
8
- Written by Philip Hazel
9
- Copyright (c) 1997-2013 University of Cambridge
10
-
11
- -----------------------------------------------------------------------------
12
- Redistribution and use in source and binary forms, with or without
13
- modification, are permitted provided that the following conditions are met:
14
-
15
- * Redistributions of source code must retain the above copyright notice,
16
- this list of conditions and the following disclaimer.
17
-
18
- * Redistributions in binary form must reproduce the above copyright
19
- notice, this list of conditions and the following disclaimer in the
20
- documentation and/or other materials provided with the distribution.
21
-
22
- * Neither the name of the University of Cambridge nor the names of its
23
- contributors may be used to endorse or promote products derived from
24
- this software without specific prior written permission.
25
-
26
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
30
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36
- POSSIBILITY OF SUCH DAMAGE.
37
- -----------------------------------------------------------------------------
38
- */
39
-
40
-
41
- /* This module contains the external function pcre_fullinfo(), which returns
42
- information about a compiled pattern. */
43
-
44
-
45
- #ifdef HAVE_CONFIG_H
46
- #include "config.h"
47
- #endif
48
-
49
- #include "pcre_internal.h"
50
-
51
-
52
- /*************************************************
53
- * Return info about compiled pattern *
54
- *************************************************/
55
-
56
- /* This is a newer "info" function which has an extensible interface so
57
- that additional items can be added compatibly.
58
-
59
- Arguments:
60
- argument_re points to compiled code
61
- extra_data points extra data, or NULL
62
- what what information is required
63
- where where to put the information
64
-
65
- Returns: 0 if data returned, negative on error
66
- */
67
-
68
- #if defined COMPILE_PCRE8
69
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
70
- pcre_fullinfo(const pcre *argument_re, const pcre_extra *extra_data,
71
- int what, void *where)
72
- #elif defined COMPILE_PCRE16
73
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
74
- pcre16_fullinfo(const pcre16 *argument_re, const pcre16_extra *extra_data,
75
- int what, void *where)
76
- #elif defined COMPILE_PCRE32
77
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
78
- pcre32_fullinfo(const pcre32 *argument_re, const pcre32_extra *extra_data,
79
- int what, void *where)
80
- #endif
81
- {
82
- const REAL_PCRE *re = (const REAL_PCRE *)argument_re;
83
- const pcre_study_data *study = NULL;
84
-
85
- if (re == NULL || where == NULL) return PCRE_ERROR_NULL;
86
-
87
- if (extra_data != NULL && (extra_data->flags & PCRE_EXTRA_STUDY_DATA) != 0)
88
- study = (const pcre_study_data *)extra_data->study_data;
89
-
90
- /* Check that the first field in the block is the magic number. If it is not,
91
- return with PCRE_ERROR_BADMAGIC. However, if the magic number is equal to
92
- REVERSED_MAGIC_NUMBER we return with PCRE_ERROR_BADENDIANNESS, which
93
- means that the pattern is likely compiled with different endianness. */
94
-
95
- if (re->magic_number != MAGIC_NUMBER)
96
- return re->magic_number == REVERSED_MAGIC_NUMBER?
97
- PCRE_ERROR_BADENDIANNESS:PCRE_ERROR_BADMAGIC;
98
-
99
- /* Check that this pattern was compiled in the correct bit mode */
100
-
101
- if ((re->flags & PCRE_MODE) == 0) return PCRE_ERROR_BADMODE;
102
-
103
- switch (what)
104
- {
105
- case PCRE_INFO_OPTIONS:
106
- *((unsigned long int *)where) = re->options & PUBLIC_COMPILE_OPTIONS;
107
- break;
108
-
109
- case PCRE_INFO_SIZE:
110
- *((size_t *)where) = re->size;
111
- break;
112
-
113
- case PCRE_INFO_STUDYSIZE:
114
- *((size_t *)where) = (study == NULL)? 0 : study->size;
115
- break;
116
-
117
- case PCRE_INFO_JITSIZE:
118
- #ifdef SUPPORT_JIT
119
- *((size_t *)where) =
120
- (extra_data != NULL &&
121
- (extra_data->flags & PCRE_EXTRA_EXECUTABLE_JIT) != 0 &&
122
- extra_data->executable_jit != NULL)?
123
- PRIV(jit_get_size)(extra_data->executable_jit) : 0;
124
- #else
125
- *((size_t *)where) = 0;
126
- #endif
127
- break;
128
-
129
- case PCRE_INFO_CAPTURECOUNT:
130
- *((int *)where) = re->top_bracket;
131
- break;
132
-
133
- case PCRE_INFO_BACKREFMAX:
134
- *((int *)where) = re->top_backref;
135
- break;
136
-
137
- case PCRE_INFO_FIRSTBYTE:
138
- *((int *)where) =
139
- ((re->flags & PCRE_FIRSTSET) != 0)? (int)re->first_char :
140
- ((re->flags & PCRE_STARTLINE) != 0)? -1 : -2;
141
- break;
142
-
143
- case PCRE_INFO_FIRSTCHARACTER:
144
- *((pcre_uint32 *)where) =
145
- (re->flags & PCRE_FIRSTSET) != 0 ? re->first_char : 0;
146
- break;
147
-
148
- case PCRE_INFO_FIRSTCHARACTERFLAGS:
149
- *((int *)where) =
150
- ((re->flags & PCRE_FIRSTSET) != 0) ? 1 :
151
- ((re->flags & PCRE_STARTLINE) != 0) ? 2 : 0;
152
- break;
153
-
154
- /* Make sure we pass back the pointer to the bit vector in the external
155
- block, not the internal copy (with flipped integer fields). */
156
-
157
- case PCRE_INFO_FIRSTTABLE:
158
- *((const pcre_uint8 **)where) =
159
- (study != NULL && (study->flags & PCRE_STUDY_MAPPED) != 0)?
160
- ((const pcre_study_data *)extra_data->study_data)->start_bits : NULL;
161
- break;
162
-
163
- case PCRE_INFO_MINLENGTH:
164
- *((int *)where) =
165
- (study != NULL && (study->flags & PCRE_STUDY_MINLEN) != 0)?
166
- (int)(study->minlength) : -1;
167
- break;
168
-
169
- case PCRE_INFO_JIT:
170
- *((int *)where) = extra_data != NULL &&
171
- (extra_data->flags & PCRE_EXTRA_EXECUTABLE_JIT) != 0 &&
172
- extra_data->executable_jit != NULL;
173
- break;
174
-
175
- case PCRE_INFO_LASTLITERAL:
176
- *((int *)where) =
177
- ((re->flags & PCRE_REQCHSET) != 0)? (int)re->req_char : -1;
178
- break;
179
-
180
- case PCRE_INFO_REQUIREDCHAR:
181
- *((pcre_uint32 *)where) =
182
- ((re->flags & PCRE_REQCHSET) != 0) ? re->req_char : 0;
183
- break;
184
-
185
- case PCRE_INFO_REQUIREDCHARFLAGS:
186
- *((int *)where) =
187
- ((re->flags & PCRE_REQCHSET) != 0);
188
- break;
189
-
190
- case PCRE_INFO_NAMEENTRYSIZE:
191
- *((int *)where) = re->name_entry_size;
192
- break;
193
-
194
- case PCRE_INFO_NAMECOUNT:
195
- *((int *)where) = re->name_count;
196
- break;
197
-
198
- case PCRE_INFO_NAMETABLE:
199
- *((const pcre_uchar **)where) = (const pcre_uchar *)re + re->name_table_offset;
200
- break;
201
-
202
- case PCRE_INFO_DEFAULT_TABLES:
203
- *((const pcre_uint8 **)where) = (const pcre_uint8 *)(PRIV(default_tables));
204
- break;
205
-
206
- /* From release 8.00 this will always return TRUE because NOPARTIAL is
207
- no longer ever set (the restrictions have been removed). */
208
-
209
- case PCRE_INFO_OKPARTIAL:
210
- *((int *)where) = (re->flags & PCRE_NOPARTIAL) == 0;
211
- break;
212
-
213
- case PCRE_INFO_JCHANGED:
214
- *((int *)where) = (re->flags & PCRE_JCHANGED) != 0;
215
- break;
216
-
217
- case PCRE_INFO_HASCRORLF:
218
- *((int *)where) = (re->flags & PCRE_HASCRORLF) != 0;
219
- break;
220
-
221
- case PCRE_INFO_MAXLOOKBEHIND:
222
- *((int *)where) = re->max_lookbehind;
223
- break;
224
-
225
- case PCRE_INFO_MATCHLIMIT:
226
- if ((re->flags & PCRE_MLSET) == 0) return PCRE_ERROR_UNSET;
227
- *((pcre_uint32 *)where) = re->limit_match;
228
- break;
229
-
230
- case PCRE_INFO_RECURSIONLIMIT:
231
- if ((re->flags & PCRE_RLSET) == 0) return PCRE_ERROR_UNSET;
232
- *((pcre_uint32 *)where) = re->limit_recursion;
233
- break;
234
-
235
- case PCRE_INFO_MATCH_EMPTY:
236
- *((int *)where) = (re->flags & PCRE_MATCH_EMPTY) != 0;
237
- break;
238
-
239
- default: return PCRE_ERROR_BADOPTION;
240
- }
241
-
242
- return 0;
243
- }
244
-
245
- /* End of pcre_fullinfo.c */
@@ -1,669 +0,0 @@
1
- /*************************************************
2
- * Perl-Compatible Regular Expressions *
3
- *************************************************/
4
-
5
- /* PCRE is a library of functions to support regular expressions whose syntax
6
- and semantics are as close as possible to those of the Perl 5 language.
7
-
8
- Written by Philip Hazel
9
- Copyright (c) 1997-2012 University of Cambridge
10
-
11
- -----------------------------------------------------------------------------
12
- Redistribution and use in source and binary forms, with or without
13
- modification, are permitted provided that the following conditions are met:
14
-
15
- * Redistributions of source code must retain the above copyright notice,
16
- this list of conditions and the following disclaimer.
17
-
18
- * Redistributions in binary form must reproduce the above copyright
19
- notice, this list of conditions and the following disclaimer in the
20
- documentation and/or other materials provided with the distribution.
21
-
22
- * Neither the name of the University of Cambridge nor the names of its
23
- contributors may be used to endorse or promote products derived from
24
- this software without specific prior written permission.
25
-
26
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
30
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36
- POSSIBILITY OF SUCH DAMAGE.
37
- -----------------------------------------------------------------------------
38
- */
39
-
40
-
41
- /* This module contains some convenience functions for extracting substrings
42
- from the subject string after a regex match has succeeded. The original idea
43
- for these functions came from Scott Wimer. */
44
-
45
-
46
- #ifdef HAVE_CONFIG_H
47
- #include "config.h"
48
- #endif
49
-
50
- #include "pcre_internal.h"
51
-
52
-
53
- /*************************************************
54
- * Find number for named string *
55
- *************************************************/
56
-
57
- /* This function is used by the get_first_set() function below, as well
58
- as being generally available. It assumes that names are unique.
59
-
60
- Arguments:
61
- code the compiled regex
62
- stringname the name whose number is required
63
-
64
- Returns: the number of the named parentheses, or a negative number
65
- (PCRE_ERROR_NOSUBSTRING) if not found
66
- */
67
-
68
- #if defined COMPILE_PCRE8
69
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
70
- pcre_get_stringnumber(const pcre *code, const char *stringname)
71
- #elif defined COMPILE_PCRE16
72
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
73
- pcre16_get_stringnumber(const pcre16 *code, PCRE_SPTR16 stringname)
74
- #elif defined COMPILE_PCRE32
75
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
76
- pcre32_get_stringnumber(const pcre32 *code, PCRE_SPTR32 stringname)
77
- #endif
78
- {
79
- int rc;
80
- int entrysize;
81
- int top, bot;
82
- pcre_uchar *nametable;
83
-
84
- #ifdef COMPILE_PCRE8
85
- if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0)
86
- return rc;
87
- if (top <= 0) return PCRE_ERROR_NOSUBSTRING;
88
-
89
- if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0)
90
- return rc;
91
- if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0)
92
- return rc;
93
- #endif
94
- #ifdef COMPILE_PCRE16
95
- if ((rc = pcre16_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0)
96
- return rc;
97
- if (top <= 0) return PCRE_ERROR_NOSUBSTRING;
98
-
99
- if ((rc = pcre16_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0)
100
- return rc;
101
- if ((rc = pcre16_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0)
102
- return rc;
103
- #endif
104
- #ifdef COMPILE_PCRE32
105
- if ((rc = pcre32_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0)
106
- return rc;
107
- if (top <= 0) return PCRE_ERROR_NOSUBSTRING;
108
-
109
- if ((rc = pcre32_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0)
110
- return rc;
111
- if ((rc = pcre32_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0)
112
- return rc;
113
- #endif
114
-
115
- bot = 0;
116
- while (top > bot)
117
- {
118
- int mid = (top + bot) / 2;
119
- pcre_uchar *entry = nametable + entrysize*mid;
120
- int c = STRCMP_UC_UC((pcre_uchar *)stringname,
121
- (pcre_uchar *)(entry + IMM2_SIZE));
122
- if (c == 0) return GET2(entry, 0);
123
- if (c > 0) bot = mid + 1; else top = mid;
124
- }
125
-
126
- return PCRE_ERROR_NOSUBSTRING;
127
- }
128
-
129
-
130
-
131
- /*************************************************
132
- * Find (multiple) entries for named string *
133
- *************************************************/
134
-
135
- /* This is used by the get_first_set() function below, as well as being
136
- generally available. It is used when duplicated names are permitted.
137
-
138
- Arguments:
139
- code the compiled regex
140
- stringname the name whose entries required
141
- firstptr where to put the pointer to the first entry
142
- lastptr where to put the pointer to the last entry
143
-
144
- Returns: the length of each entry, or a negative number
145
- (PCRE_ERROR_NOSUBSTRING) if not found
146
- */
147
-
148
- #if defined COMPILE_PCRE8
149
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
150
- pcre_get_stringtable_entries(const pcre *code, const char *stringname,
151
- char **firstptr, char **lastptr)
152
- #elif defined COMPILE_PCRE16
153
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
154
- pcre16_get_stringtable_entries(const pcre16 *code, PCRE_SPTR16 stringname,
155
- PCRE_UCHAR16 **firstptr, PCRE_UCHAR16 **lastptr)
156
- #elif defined COMPILE_PCRE32
157
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
158
- pcre32_get_stringtable_entries(const pcre32 *code, PCRE_SPTR32 stringname,
159
- PCRE_UCHAR32 **firstptr, PCRE_UCHAR32 **lastptr)
160
- #endif
161
- {
162
- int rc;
163
- int entrysize;
164
- int top, bot;
165
- pcre_uchar *nametable, *lastentry;
166
-
167
- #ifdef COMPILE_PCRE8
168
- if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0)
169
- return rc;
170
- if (top <= 0) return PCRE_ERROR_NOSUBSTRING;
171
-
172
- if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0)
173
- return rc;
174
- if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0)
175
- return rc;
176
- #endif
177
- #ifdef COMPILE_PCRE16
178
- if ((rc = pcre16_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0)
179
- return rc;
180
- if (top <= 0) return PCRE_ERROR_NOSUBSTRING;
181
-
182
- if ((rc = pcre16_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0)
183
- return rc;
184
- if ((rc = pcre16_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0)
185
- return rc;
186
- #endif
187
- #ifdef COMPILE_PCRE32
188
- if ((rc = pcre32_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0)
189
- return rc;
190
- if (top <= 0) return PCRE_ERROR_NOSUBSTRING;
191
-
192
- if ((rc = pcre32_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0)
193
- return rc;
194
- if ((rc = pcre32_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0)
195
- return rc;
196
- #endif
197
-
198
- lastentry = nametable + entrysize * (top - 1);
199
- bot = 0;
200
- while (top > bot)
201
- {
202
- int mid = (top + bot) / 2;
203
- pcre_uchar *entry = nametable + entrysize*mid;
204
- int c = STRCMP_UC_UC((pcre_uchar *)stringname,
205
- (pcre_uchar *)(entry + IMM2_SIZE));
206
- if (c == 0)
207
- {
208
- pcre_uchar *first = entry;
209
- pcre_uchar *last = entry;
210
- while (first > nametable)
211
- {
212
- if (STRCMP_UC_UC((pcre_uchar *)stringname,
213
- (pcre_uchar *)(first - entrysize + IMM2_SIZE)) != 0) break;
214
- first -= entrysize;
215
- }
216
- while (last < lastentry)
217
- {
218
- if (STRCMP_UC_UC((pcre_uchar *)stringname,
219
- (pcre_uchar *)(last + entrysize + IMM2_SIZE)) != 0) break;
220
- last += entrysize;
221
- }
222
- #if defined COMPILE_PCRE8
223
- *firstptr = (char *)first;
224
- *lastptr = (char *)last;
225
- #elif defined COMPILE_PCRE16
226
- *firstptr = (PCRE_UCHAR16 *)first;
227
- *lastptr = (PCRE_UCHAR16 *)last;
228
- #elif defined COMPILE_PCRE32
229
- *firstptr = (PCRE_UCHAR32 *)first;
230
- *lastptr = (PCRE_UCHAR32 *)last;
231
- #endif
232
- return entrysize;
233
- }
234
- if (c > 0) bot = mid + 1; else top = mid;
235
- }
236
-
237
- return PCRE_ERROR_NOSUBSTRING;
238
- }
239
-
240
-
241
-
242
- /*************************************************
243
- * Find first set of multiple named strings *
244
- *************************************************/
245
-
246
- /* This function allows for duplicate names in the table of named substrings.
247
- It returns the number of the first one that was set in a pattern match.
248
-
249
- Arguments:
250
- code the compiled regex
251
- stringname the name of the capturing substring
252
- ovector the vector of matched substrings
253
- stringcount number of captured substrings
254
-
255
- Returns: the number of the first that is set,
256
- or the number of the last one if none are set,
257
- or a negative number on error
258
- */
259
-
260
- #if defined COMPILE_PCRE8
261
- static int
262
- get_first_set(const pcre *code, const char *stringname, int *ovector,
263
- int stringcount)
264
- #elif defined COMPILE_PCRE16
265
- static int
266
- get_first_set(const pcre16 *code, PCRE_SPTR16 stringname, int *ovector,
267
- int stringcount)
268
- #elif defined COMPILE_PCRE32
269
- static int
270
- get_first_set(const pcre32 *code, PCRE_SPTR32 stringname, int *ovector,
271
- int stringcount)
272
- #endif
273
- {
274
- const REAL_PCRE *re = (const REAL_PCRE *)code;
275
- int entrysize;
276
- pcre_uchar *entry;
277
- #if defined COMPILE_PCRE8
278
- char *first, *last;
279
- #elif defined COMPILE_PCRE16
280
- PCRE_UCHAR16 *first, *last;
281
- #elif defined COMPILE_PCRE32
282
- PCRE_UCHAR32 *first, *last;
283
- #endif
284
-
285
- #if defined COMPILE_PCRE8
286
- if ((re->options & PCRE_DUPNAMES) == 0 && (re->flags & PCRE_JCHANGED) == 0)
287
- return pcre_get_stringnumber(code, stringname);
288
- entrysize = pcre_get_stringtable_entries(code, stringname, &first, &last);
289
- #elif defined COMPILE_PCRE16
290
- if ((re->options & PCRE_DUPNAMES) == 0 && (re->flags & PCRE_JCHANGED) == 0)
291
- return pcre16_get_stringnumber(code, stringname);
292
- entrysize = pcre16_get_stringtable_entries(code, stringname, &first, &last);
293
- #elif defined COMPILE_PCRE32
294
- if ((re->options & PCRE_DUPNAMES) == 0 && (re->flags & PCRE_JCHANGED) == 0)
295
- return pcre32_get_stringnumber(code, stringname);
296
- entrysize = pcre32_get_stringtable_entries(code, stringname, &first, &last);
297
- #endif
298
- if (entrysize <= 0) return entrysize;
299
- for (entry = (pcre_uchar *)first; entry <= (pcre_uchar *)last; entry += entrysize)
300
- {
301
- int n = GET2(entry, 0);
302
- if (n < stringcount && ovector[n*2] >= 0) return n;
303
- }
304
- return GET2(entry, 0);
305
- }
306
-
307
-
308
-
309
-
310
- /*************************************************
311
- * Copy captured string to given buffer *
312
- *************************************************/
313
-
314
- /* This function copies a single captured substring into a given buffer.
315
- Note that we use memcpy() rather than strncpy() in case there are binary zeros
316
- in the string.
317
-
318
- Arguments:
319
- subject the subject string that was matched
320
- ovector pointer to the offsets table
321
- stringcount the number of substrings that were captured
322
- (i.e. the yield of the pcre_exec call, unless
323
- that was zero, in which case it should be 1/3
324
- of the offset table size)
325
- stringnumber the number of the required substring
326
- buffer where to put the substring
327
- size the size of the buffer
328
-
329
- Returns: if successful:
330
- the length of the copied string, not including the zero
331
- that is put on the end; can be zero
332
- if not successful:
333
- PCRE_ERROR_NOMEMORY (-6) buffer too small
334
- PCRE_ERROR_NOSUBSTRING (-7) no such captured substring
335
- */
336
-
337
- #if defined COMPILE_PCRE8
338
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
339
- pcre_copy_substring(const char *subject, int *ovector, int stringcount,
340
- int stringnumber, char *buffer, int size)
341
- #elif defined COMPILE_PCRE16
342
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
343
- pcre16_copy_substring(PCRE_SPTR16 subject, int *ovector, int stringcount,
344
- int stringnumber, PCRE_UCHAR16 *buffer, int size)
345
- #elif defined COMPILE_PCRE32
346
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
347
- pcre32_copy_substring(PCRE_SPTR32 subject, int *ovector, int stringcount,
348
- int stringnumber, PCRE_UCHAR32 *buffer, int size)
349
- #endif
350
- {
351
- int yield;
352
- if (stringnumber < 0 || stringnumber >= stringcount)
353
- return PCRE_ERROR_NOSUBSTRING;
354
- stringnumber *= 2;
355
- yield = ovector[stringnumber+1] - ovector[stringnumber];
356
- if (size < yield + 1) return PCRE_ERROR_NOMEMORY;
357
- memcpy(buffer, subject + ovector[stringnumber], IN_UCHARS(yield));
358
- buffer[yield] = 0;
359
- return yield;
360
- }
361
-
362
-
363
-
364
- /*************************************************
365
- * Copy named captured string to given buffer *
366
- *************************************************/
367
-
368
- /* This function copies a single captured substring into a given buffer,
369
- identifying it by name. If the regex permits duplicate names, the first
370
- substring that is set is chosen.
371
-
372
- Arguments:
373
- code the compiled regex
374
- subject the subject string that was matched
375
- ovector pointer to the offsets table
376
- stringcount the number of substrings that were captured
377
- (i.e. the yield of the pcre_exec call, unless
378
- that was zero, in which case it should be 1/3
379
- of the offset table size)
380
- stringname the name of the required substring
381
- buffer where to put the substring
382
- size the size of the buffer
383
-
384
- Returns: if successful:
385
- the length of the copied string, not including the zero
386
- that is put on the end; can be zero
387
- if not successful:
388
- PCRE_ERROR_NOMEMORY (-6) buffer too small
389
- PCRE_ERROR_NOSUBSTRING (-7) no such captured substring
390
- */
391
-
392
- #if defined COMPILE_PCRE8
393
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
394
- pcre_copy_named_substring(const pcre *code, const char *subject,
395
- int *ovector, int stringcount, const char *stringname,
396
- char *buffer, int size)
397
- #elif defined COMPILE_PCRE16
398
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
399
- pcre16_copy_named_substring(const pcre16 *code, PCRE_SPTR16 subject,
400
- int *ovector, int stringcount, PCRE_SPTR16 stringname,
401
- PCRE_UCHAR16 *buffer, int size)
402
- #elif defined COMPILE_PCRE32
403
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
404
- pcre32_copy_named_substring(const pcre32 *code, PCRE_SPTR32 subject,
405
- int *ovector, int stringcount, PCRE_SPTR32 stringname,
406
- PCRE_UCHAR32 *buffer, int size)
407
- #endif
408
- {
409
- int n = get_first_set(code, stringname, ovector, stringcount);
410
- if (n <= 0) return n;
411
- #if defined COMPILE_PCRE8
412
- return pcre_copy_substring(subject, ovector, stringcount, n, buffer, size);
413
- #elif defined COMPILE_PCRE16
414
- return pcre16_copy_substring(subject, ovector, stringcount, n, buffer, size);
415
- #elif defined COMPILE_PCRE32
416
- return pcre32_copy_substring(subject, ovector, stringcount, n, buffer, size);
417
- #endif
418
- }
419
-
420
-
421
-
422
- /*************************************************
423
- * Copy all captured strings to new store *
424
- *************************************************/
425
-
426
- /* This function gets one chunk of store and builds a list of pointers and all
427
- of the captured substrings in it. A NULL pointer is put on the end of the list.
428
-
429
- Arguments:
430
- subject the subject string that was matched
431
- ovector pointer to the offsets table
432
- stringcount the number of substrings that were captured
433
- (i.e. the yield of the pcre_exec call, unless
434
- that was zero, in which case it should be 1/3
435
- of the offset table size)
436
- listptr set to point to the list of pointers
437
-
438
- Returns: if successful: 0
439
- if not successful:
440
- PCRE_ERROR_NOMEMORY (-6) failed to get store
441
- */
442
-
443
- #if defined COMPILE_PCRE8
444
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
445
- pcre_get_substring_list(const char *subject, int *ovector, int stringcount,
446
- const char ***listptr)
447
- #elif defined COMPILE_PCRE16
448
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
449
- pcre16_get_substring_list(PCRE_SPTR16 subject, int *ovector, int stringcount,
450
- PCRE_SPTR16 **listptr)
451
- #elif defined COMPILE_PCRE32
452
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
453
- pcre32_get_substring_list(PCRE_SPTR32 subject, int *ovector, int stringcount,
454
- PCRE_SPTR32 **listptr)
455
- #endif
456
- {
457
- int i;
458
- int size = sizeof(pcre_uchar *);
459
- int double_count = stringcount * 2;
460
- pcre_uchar **stringlist;
461
- pcre_uchar *p;
462
-
463
- for (i = 0; i < double_count; i += 2)
464
- {
465
- size += sizeof(pcre_uchar *) + IN_UCHARS(1);
466
- if (ovector[i+1] > ovector[i]) size += IN_UCHARS(ovector[i+1] - ovector[i]);
467
- }
468
-
469
- stringlist = (pcre_uchar **)(PUBL(malloc))(size);
470
- if (stringlist == NULL) return PCRE_ERROR_NOMEMORY;
471
-
472
- #if defined COMPILE_PCRE8
473
- *listptr = (const char **)stringlist;
474
- #elif defined COMPILE_PCRE16
475
- *listptr = (PCRE_SPTR16 *)stringlist;
476
- #elif defined COMPILE_PCRE32
477
- *listptr = (PCRE_SPTR32 *)stringlist;
478
- #endif
479
- p = (pcre_uchar *)(stringlist + stringcount + 1);
480
-
481
- for (i = 0; i < double_count; i += 2)
482
- {
483
- int len = (ovector[i+1] > ovector[i])? (ovector[i+1] - ovector[i]) : 0;
484
- memcpy(p, subject + ovector[i], IN_UCHARS(len));
485
- *stringlist++ = p;
486
- p += len;
487
- *p++ = 0;
488
- }
489
-
490
- *stringlist = NULL;
491
- return 0;
492
- }
493
-
494
-
495
-
496
- /*************************************************
497
- * Free store obtained by get_substring_list *
498
- *************************************************/
499
-
500
- /* This function exists for the benefit of people calling PCRE from non-C
501
- programs that can call its functions, but not free() or (PUBL(free))()
502
- directly.
503
-
504
- Argument: the result of a previous pcre_get_substring_list()
505
- Returns: nothing
506
- */
507
-
508
- #if defined COMPILE_PCRE8
509
- PCRE_EXP_DEFN void PCRE_CALL_CONVENTION
510
- pcre_free_substring_list(const char **pointer)
511
- #elif defined COMPILE_PCRE16
512
- PCRE_EXP_DEFN void PCRE_CALL_CONVENTION
513
- pcre16_free_substring_list(PCRE_SPTR16 *pointer)
514
- #elif defined COMPILE_PCRE32
515
- PCRE_EXP_DEFN void PCRE_CALL_CONVENTION
516
- pcre32_free_substring_list(PCRE_SPTR32 *pointer)
517
- #endif
518
- {
519
- (PUBL(free))((void *)pointer);
520
- }
521
-
522
-
523
-
524
- /*************************************************
525
- * Copy captured string to new store *
526
- *************************************************/
527
-
528
- /* This function copies a single captured substring into a piece of new
529
- store
530
-
531
- Arguments:
532
- subject the subject string that was matched
533
- ovector pointer to the offsets table
534
- stringcount the number of substrings that were captured
535
- (i.e. the yield of the pcre_exec call, unless
536
- that was zero, in which case it should be 1/3
537
- of the offset table size)
538
- stringnumber the number of the required substring
539
- stringptr where to put a pointer to the substring
540
-
541
- Returns: if successful:
542
- the length of the string, not including the zero that
543
- is put on the end; can be zero
544
- if not successful:
545
- PCRE_ERROR_NOMEMORY (-6) failed to get store
546
- PCRE_ERROR_NOSUBSTRING (-7) substring not present
547
- */
548
-
549
- #if defined COMPILE_PCRE8
550
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
551
- pcre_get_substring(const char *subject, int *ovector, int stringcount,
552
- int stringnumber, const char **stringptr)
553
- #elif defined COMPILE_PCRE16
554
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
555
- pcre16_get_substring(PCRE_SPTR16 subject, int *ovector, int stringcount,
556
- int stringnumber, PCRE_SPTR16 *stringptr)
557
- #elif defined COMPILE_PCRE32
558
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
559
- pcre32_get_substring(PCRE_SPTR32 subject, int *ovector, int stringcount,
560
- int stringnumber, PCRE_SPTR32 *stringptr)
561
- #endif
562
- {
563
- int yield;
564
- pcre_uchar *substring;
565
- if (stringnumber < 0 || stringnumber >= stringcount)
566
- return PCRE_ERROR_NOSUBSTRING;
567
- stringnumber *= 2;
568
- yield = ovector[stringnumber+1] - ovector[stringnumber];
569
- substring = (pcre_uchar *)(PUBL(malloc))(IN_UCHARS(yield + 1));
570
- if (substring == NULL) return PCRE_ERROR_NOMEMORY;
571
- memcpy(substring, subject + ovector[stringnumber], IN_UCHARS(yield));
572
- substring[yield] = 0;
573
- #if defined COMPILE_PCRE8
574
- *stringptr = (const char *)substring;
575
- #elif defined COMPILE_PCRE16
576
- *stringptr = (PCRE_SPTR16)substring;
577
- #elif defined COMPILE_PCRE32
578
- *stringptr = (PCRE_SPTR32)substring;
579
- #endif
580
- return yield;
581
- }
582
-
583
-
584
-
585
- /*************************************************
586
- * Copy named captured string to new store *
587
- *************************************************/
588
-
589
- /* This function copies a single captured substring, identified by name, into
590
- new store. If the regex permits duplicate names, the first substring that is
591
- set is chosen.
592
-
593
- Arguments:
594
- code the compiled regex
595
- subject the subject string that was matched
596
- ovector pointer to the offsets table
597
- stringcount the number of substrings that were captured
598
- (i.e. the yield of the pcre_exec call, unless
599
- that was zero, in which case it should be 1/3
600
- of the offset table size)
601
- stringname the name of the required substring
602
- stringptr where to put the pointer
603
-
604
- Returns: if successful:
605
- the length of the copied string, not including the zero
606
- that is put on the end; can be zero
607
- if not successful:
608
- PCRE_ERROR_NOMEMORY (-6) couldn't get memory
609
- PCRE_ERROR_NOSUBSTRING (-7) no such captured substring
610
- */
611
-
612
- #if defined COMPILE_PCRE8
613
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
614
- pcre_get_named_substring(const pcre *code, const char *subject,
615
- int *ovector, int stringcount, const char *stringname,
616
- const char **stringptr)
617
- #elif defined COMPILE_PCRE16
618
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
619
- pcre16_get_named_substring(const pcre16 *code, PCRE_SPTR16 subject,
620
- int *ovector, int stringcount, PCRE_SPTR16 stringname,
621
- PCRE_SPTR16 *stringptr)
622
- #elif defined COMPILE_PCRE32
623
- PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
624
- pcre32_get_named_substring(const pcre32 *code, PCRE_SPTR32 subject,
625
- int *ovector, int stringcount, PCRE_SPTR32 stringname,
626
- PCRE_SPTR32 *stringptr)
627
- #endif
628
- {
629
- int n = get_first_set(code, stringname, ovector, stringcount);
630
- if (n <= 0) return n;
631
- #if defined COMPILE_PCRE8
632
- return pcre_get_substring(subject, ovector, stringcount, n, stringptr);
633
- #elif defined COMPILE_PCRE16
634
- return pcre16_get_substring(subject, ovector, stringcount, n, stringptr);
635
- #elif defined COMPILE_PCRE32
636
- return pcre32_get_substring(subject, ovector, stringcount, n, stringptr);
637
- #endif
638
- }
639
-
640
-
641
-
642
-
643
- /*************************************************
644
- * Free store obtained by get_substring *
645
- *************************************************/
646
-
647
- /* This function exists for the benefit of people calling PCRE from non-C
648
- programs that can call its functions, but not free() or (PUBL(free))()
649
- directly.
650
-
651
- Argument: the result of a previous pcre_get_substring()
652
- Returns: nothing
653
- */
654
-
655
- #if defined COMPILE_PCRE8
656
- PCRE_EXP_DEFN void PCRE_CALL_CONVENTION
657
- pcre_free_substring(const char *pointer)
658
- #elif defined COMPILE_PCRE16
659
- PCRE_EXP_DEFN void PCRE_CALL_CONVENTION
660
- pcre16_free_substring(PCRE_SPTR16 pointer)
661
- #elif defined COMPILE_PCRE32
662
- PCRE_EXP_DEFN void PCRE_CALL_CONVENTION
663
- pcre32_free_substring(PCRE_SPTR32 pointer)
664
- #endif
665
- {
666
- (PUBL(free))((void *)pointer);
667
- }
668
-
669
- /* End of pcre_get.c */