rugged 0.27.7 → 0.27.10
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.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +99 -51
- data/vendor/libgit2/COPYING +28 -0
- data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
- data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
- data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
- data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
- data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
- data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
- data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
- data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
- data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
- data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
- data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
- data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
- data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
- data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
- data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
- data/vendor/libgit2/deps/pcre/COPYING +5 -0
- data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
- data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
- data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
- data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
- data/vendor/libgit2/deps/pcre/config.h.in +57 -0
- data/vendor/libgit2/deps/pcre/pcre.h +641 -0
- data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
- data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
- data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
- data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
- data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
- data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
- data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
- data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
- data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
- data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
- data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
- data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
- data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
- data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
- data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
- data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
- data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
- data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
- data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
- data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
- data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
- data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
- data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
- data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
- data/vendor/libgit2/deps/pcre/ucp.h +224 -0
- data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
- data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
- data/vendor/libgit2/deps/zlib/COPYING +27 -0
- data/vendor/libgit2/deps/zlib/adler32.c +0 -7
- data/vendor/libgit2/deps/zlib/crc32.c +0 -7
- data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
- data/vendor/libgit2/include/git2/apply.h +149 -0
- data/vendor/libgit2/include/git2/attr.h +20 -13
- data/vendor/libgit2/include/git2/blame.h +4 -4
- data/vendor/libgit2/include/git2/blob.h +44 -12
- data/vendor/libgit2/include/git2/buffer.h +20 -26
- data/vendor/libgit2/include/git2/cert.h +135 -0
- data/vendor/libgit2/include/git2/checkout.h +53 -21
- data/vendor/libgit2/include/git2/cherrypick.h +3 -3
- data/vendor/libgit2/include/git2/clone.h +5 -5
- data/vendor/libgit2/include/git2/commit.h +25 -3
- data/vendor/libgit2/include/git2/common.h +35 -10
- data/vendor/libgit2/include/git2/config.h +29 -19
- data/vendor/libgit2/include/git2/cred.h +308 -0
- data/vendor/libgit2/include/git2/deprecated.h +493 -0
- data/vendor/libgit2/include/git2/describe.h +4 -4
- data/vendor/libgit2/include/git2/diff.h +177 -135
- data/vendor/libgit2/include/git2/errors.h +53 -46
- data/vendor/libgit2/include/git2/filter.h +8 -0
- data/vendor/libgit2/include/git2/index.h +74 -52
- data/vendor/libgit2/include/git2/indexer.h +76 -6
- data/vendor/libgit2/include/git2/merge.h +25 -10
- data/vendor/libgit2/include/git2/net.h +0 -5
- data/vendor/libgit2/include/git2/notes.h +1 -1
- data/vendor/libgit2/include/git2/object.h +17 -29
- data/vendor/libgit2/include/git2/odb.h +12 -11
- data/vendor/libgit2/include/git2/odb_backend.h +10 -9
- data/vendor/libgit2/include/git2/oid.h +2 -2
- data/vendor/libgit2/include/git2/pack.h +14 -3
- data/vendor/libgit2/include/git2/proxy.h +5 -3
- data/vendor/libgit2/include/git2/rebase.h +46 -2
- data/vendor/libgit2/include/git2/refs.h +34 -16
- data/vendor/libgit2/include/git2/remote.h +111 -14
- data/vendor/libgit2/include/git2/repository.h +69 -34
- data/vendor/libgit2/include/git2/revert.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +7 -7
- data/vendor/libgit2/include/git2/signature.h +2 -2
- data/vendor/libgit2/include/git2/stash.h +5 -5
- data/vendor/libgit2/include/git2/status.h +26 -17
- data/vendor/libgit2/include/git2/submodule.h +23 -6
- data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
- data/vendor/libgit2/include/git2/sys/commit.h +1 -1
- data/vendor/libgit2/include/git2/sys/config.h +13 -13
- data/vendor/libgit2/include/git2/sys/cred.h +90 -0
- data/vendor/libgit2/include/git2/sys/filter.h +6 -6
- data/vendor/libgit2/include/git2/sys/merge.h +3 -3
- data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
- data/vendor/libgit2/include/git2/sys/path.h +14 -5
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
- data/vendor/libgit2/include/git2/sys/repository.h +5 -1
- data/vendor/libgit2/include/git2/sys/stream.h +92 -12
- data/vendor/libgit2/include/git2/sys/transport.h +129 -83
- data/vendor/libgit2/include/git2/tag.h +13 -4
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transport.h +11 -311
- data/vendor/libgit2/include/git2/tree.h +4 -4
- data/vendor/libgit2/include/git2/types.h +25 -106
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +5 -5
- data/vendor/libgit2/include/git2.h +4 -0
- data/vendor/libgit2/src/CMakeLists.txt +104 -235
- data/vendor/libgit2/src/alloc.c +14 -18
- data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
- data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
- data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
- data/vendor/libgit2/src/annotated_commit.c +18 -11
- data/vendor/libgit2/src/apply.c +535 -28
- data/vendor/libgit2/src/apply.h +3 -1
- data/vendor/libgit2/src/array.h +2 -2
- data/vendor/libgit2/src/attr.c +77 -71
- data/vendor/libgit2/src/attr_file.c +203 -117
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +49 -51
- data/vendor/libgit2/src/attrcache.h +2 -1
- data/vendor/libgit2/src/blame.c +38 -18
- data/vendor/libgit2/src/blame.h +1 -1
- data/vendor/libgit2/src/blame_git.c +29 -15
- data/vendor/libgit2/src/blob.c +123 -37
- data/vendor/libgit2/src/blob.h +19 -2
- data/vendor/libgit2/src/branch.c +47 -23
- data/vendor/libgit2/src/buf_text.c +7 -6
- data/vendor/libgit2/src/buffer.c +60 -53
- data/vendor/libgit2/src/cache.c +38 -45
- data/vendor/libgit2/src/cache.h +3 -3
- data/vendor/libgit2/src/cc-compat.h +20 -3
- data/vendor/libgit2/src/checkout.c +77 -67
- data/vendor/libgit2/src/cherrypick.c +12 -6
- data/vendor/libgit2/src/clone.c +36 -14
- data/vendor/libgit2/src/clone.h +4 -0
- data/vendor/libgit2/src/commit.c +103 -48
- data/vendor/libgit2/src/commit.h +7 -0
- data/vendor/libgit2/src/commit_list.c +36 -78
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +24 -90
- data/vendor/libgit2/src/config.c +203 -176
- data/vendor/libgit2/src/config.h +8 -20
- data/vendor/libgit2/src/config_backend.h +96 -0
- data/vendor/libgit2/src/config_cache.c +41 -35
- data/vendor/libgit2/src/config_entries.c +229 -0
- data/vendor/libgit2/src/config_entries.h +24 -0
- data/vendor/libgit2/src/config_file.c +422 -680
- data/vendor/libgit2/src/config_mem.c +220 -0
- data/vendor/libgit2/src/config_parse.c +96 -68
- data/vendor/libgit2/src/config_parse.h +15 -14
- data/vendor/libgit2/src/config_snapshot.c +206 -0
- data/vendor/libgit2/src/crlf.c +219 -196
- data/vendor/libgit2/src/delta.c +25 -18
- data/vendor/libgit2/src/describe.c +42 -41
- data/vendor/libgit2/src/diff.c +52 -67
- data/vendor/libgit2/src/diff.h +2 -1
- data/vendor/libgit2/src/diff_driver.c +44 -46
- data/vendor/libgit2/src/diff_file.c +16 -14
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +158 -103
- data/vendor/libgit2/src/diff_generate.h +3 -3
- data/vendor/libgit2/src/diff_parse.c +4 -4
- data/vendor/libgit2/src/diff_print.c +34 -22
- data/vendor/libgit2/src/diff_stats.c +22 -7
- data/vendor/libgit2/src/diff_tform.c +18 -16
- data/vendor/libgit2/src/diff_xdiff.c +3 -3
- data/vendor/libgit2/src/errors.c +51 -39
- data/vendor/libgit2/src/errors.h +81 -0
- data/vendor/libgit2/src/features.h.in +9 -3
- data/vendor/libgit2/src/fetch.c +8 -3
- data/vendor/libgit2/src/fetchhead.c +12 -12
- data/vendor/libgit2/src/filebuf.c +28 -32
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/filter.c +47 -33
- data/vendor/libgit2/src/filter.h +0 -10
- data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
- data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
- data/vendor/libgit2/src/global.c +35 -55
- data/vendor/libgit2/src/global.h +0 -2
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
- data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
- data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
- data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
- data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
- data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
- data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
- data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
- data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
- data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
- data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
- data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
- data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
- data/vendor/libgit2/src/hash/sha1.h +38 -0
- data/vendor/libgit2/src/hash.c +61 -0
- data/vendor/libgit2/src/hash.h +20 -21
- data/vendor/libgit2/src/hashsig.c +5 -5
- data/vendor/libgit2/src/idxmap.c +107 -61
- data/vendor/libgit2/src/idxmap.h +153 -31
- data/vendor/libgit2/src/ignore.c +38 -42
- data/vendor/libgit2/src/index.c +264 -199
- data/vendor/libgit2/src/index.h +7 -1
- data/vendor/libgit2/src/indexer.c +338 -167
- data/vendor/libgit2/src/integer.h +71 -26
- data/vendor/libgit2/src/iterator.c +134 -62
- data/vendor/libgit2/src/iterator.h +15 -0
- data/vendor/libgit2/src/mailmap.c +8 -8
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +137 -93
- data/vendor/libgit2/src/merge_driver.c +11 -11
- data/vendor/libgit2/src/merge_file.c +2 -2
- data/vendor/libgit2/src/mwindow.c +24 -29
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/net.c +184 -0
- data/vendor/libgit2/src/net.h +36 -0
- data/vendor/libgit2/src/netops.c +55 -156
- data/vendor/libgit2/src/netops.h +3 -23
- data/vendor/libgit2/src/notes.c +14 -9
- data/vendor/libgit2/src/object.c +120 -69
- data/vendor/libgit2/src/object.h +22 -9
- data/vendor/libgit2/src/object_api.c +8 -8
- data/vendor/libgit2/src/odb.c +111 -88
- data/vendor/libgit2/src/odb.h +8 -7
- data/vendor/libgit2/src/odb_loose.c +58 -47
- data/vendor/libgit2/src/odb_mempack.c +21 -34
- data/vendor/libgit2/src/odb_pack.c +17 -13
- data/vendor/libgit2/src/offmap.c +53 -35
- data/vendor/libgit2/src/offmap.h +108 -21
- data/vendor/libgit2/src/oid.c +12 -7
- data/vendor/libgit2/src/oidmap.c +49 -47
- data/vendor/libgit2/src/oidmap.h +101 -24
- data/vendor/libgit2/src/pack-objects.c +87 -86
- data/vendor/libgit2/src/pack-objects.h +2 -8
- data/vendor/libgit2/src/pack.c +94 -96
- data/vendor/libgit2/src/pack.h +16 -18
- data/vendor/libgit2/src/parse.c +17 -4
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +3 -3
- data/vendor/libgit2/src/patch_generate.c +18 -18
- data/vendor/libgit2/src/patch_parse.c +147 -79
- data/vendor/libgit2/src/path.c +207 -62
- data/vendor/libgit2/src/path.h +14 -0
- data/vendor/libgit2/src/pathspec.c +18 -18
- data/vendor/libgit2/src/pool.c +26 -22
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +10 -10
- data/vendor/libgit2/src/posix.h +12 -1
- data/vendor/libgit2/src/proxy.c +8 -3
- data/vendor/libgit2/src/push.c +35 -29
- data/vendor/libgit2/src/push.h +2 -1
- data/vendor/libgit2/src/reader.c +265 -0
- data/vendor/libgit2/src/reader.h +107 -0
- data/vendor/libgit2/src/rebase.c +97 -38
- data/vendor/libgit2/src/refdb.c +15 -3
- data/vendor/libgit2/src/refdb_fs.c +318 -222
- data/vendor/libgit2/src/reflog.c +13 -15
- data/vendor/libgit2/src/refs.c +122 -89
- data/vendor/libgit2/src/refs.h +5 -3
- data/vendor/libgit2/src/refspec.c +27 -33
- data/vendor/libgit2/src/regexp.c +221 -0
- data/vendor/libgit2/src/regexp.h +97 -0
- data/vendor/libgit2/src/remote.c +229 -178
- data/vendor/libgit2/src/remote.h +11 -2
- data/vendor/libgit2/src/repository.c +227 -172
- data/vendor/libgit2/src/repository.h +52 -40
- data/vendor/libgit2/src/reset.c +7 -7
- data/vendor/libgit2/src/revert.c +11 -6
- data/vendor/libgit2/src/revparse.c +46 -46
- data/vendor/libgit2/src/revwalk.c +89 -54
- data/vendor/libgit2/src/revwalk.h +20 -0
- data/vendor/libgit2/src/settings.c +22 -9
- data/vendor/libgit2/src/signature.c +15 -13
- data/vendor/libgit2/src/sortedcache.c +22 -36
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +56 -76
- data/vendor/libgit2/src/status.c +27 -21
- data/vendor/libgit2/src/stream.h +17 -2
- data/vendor/libgit2/src/streams/mbedtls.c +100 -80
- data/vendor/libgit2/src/streams/mbedtls.h +5 -2
- data/vendor/libgit2/src/streams/openssl.c +93 -81
- data/vendor/libgit2/src/streams/openssl.h +5 -2
- data/vendor/libgit2/src/streams/registry.c +118 -0
- data/vendor/libgit2/src/streams/registry.h +19 -0
- data/vendor/libgit2/src/streams/socket.c +55 -30
- data/vendor/libgit2/src/streams/stransport.c +57 -32
- data/vendor/libgit2/src/streams/stransport.h +5 -0
- data/vendor/libgit2/src/streams/tls.c +48 -20
- data/vendor/libgit2/src/streams/tls.h +12 -4
- data/vendor/libgit2/src/strmap.c +47 -74
- data/vendor/libgit2/src/strmap.h +108 -33
- data/vendor/libgit2/src/submodule.c +190 -169
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +25 -15
- data/vendor/libgit2/src/tag.c +39 -26
- data/vendor/libgit2/src/tag.h +2 -1
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +2 -2
- data/vendor/libgit2/src/trailer.c +46 -32
- data/vendor/libgit2/src/transaction.c +30 -29
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +14 -10
- data/vendor/libgit2/src/transports/auth.h +10 -3
- data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
- data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
- data/vendor/libgit2/src/transports/cred.c +24 -24
- data/vendor/libgit2/src/transports/git.c +25 -30
- data/vendor/libgit2/src/transports/http.c +871 -335
- data/vendor/libgit2/src/transports/http.h +2 -0
- data/vendor/libgit2/src/transports/local.c +28 -28
- data/vendor/libgit2/src/transports/smart.c +64 -46
- data/vendor/libgit2/src/transports/smart.h +5 -6
- data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
- data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
- data/vendor/libgit2/src/transports/ssh.c +76 -65
- data/vendor/libgit2/src/transports/winhttp.c +328 -319
- data/vendor/libgit2/src/tree-cache.c +21 -14
- data/vendor/libgit2/src/tree.c +119 -112
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/unix/map.c +3 -3
- data/vendor/libgit2/src/unix/posix.h +1 -11
- data/vendor/libgit2/src/userdiff.h +3 -1
- data/vendor/libgit2/src/util.c +154 -93
- data/vendor/libgit2/src/util.h +19 -23
- data/vendor/libgit2/src/vector.c +15 -10
- data/vendor/libgit2/src/wildmatch.c +320 -0
- data/vendor/libgit2/src/wildmatch.h +23 -0
- data/vendor/libgit2/src/win32/dir.c +3 -3
- data/vendor/libgit2/src/win32/findfile.c +1 -1
- data/vendor/libgit2/src/win32/map.c +9 -11
- data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
- data/vendor/libgit2/src/win32/path_w32.c +113 -9
- data/vendor/libgit2/src/win32/path_w32.h +18 -29
- data/vendor/libgit2/src/win32/posix.h +1 -4
- data/vendor/libgit2/src/win32/posix_w32.c +69 -44
- data/vendor/libgit2/src/win32/precompiled.h +0 -2
- data/vendor/libgit2/src/win32/thread.c +5 -10
- data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
- data/vendor/libgit2/src/win32/w32_common.h +39 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
- data/vendor/libgit2/src/win32/w32_stack.c +6 -11
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +27 -64
- data/vendor/libgit2/src/win32/w32_util.h +5 -49
- data/vendor/libgit2/src/worktree.c +44 -30
- data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
- data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
- data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
- data/vendor/libgit2/src/zstream.c +4 -4
- metadata +115 -38
- data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
- data/vendor/libgit2/deps/regex/config.h +0 -7
- data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
- data/vendor/libgit2/deps/regex/regex.c +0 -92
- data/vendor/libgit2/deps/regex/regex.h +0 -582
- data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
- data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
- data/vendor/libgit2/deps/regex/regexec.c +0 -4369
- data/vendor/libgit2/include/git2/inttypes.h +0 -309
- data/vendor/libgit2/include/git2/sys/time.h +0 -31
- data/vendor/libgit2/libgit2.pc.in +0 -13
- data/vendor/libgit2/src/config_file.h +0 -73
- data/vendor/libgit2/src/fnmatch.c +0 -248
- data/vendor/libgit2/src/fnmatch.h +0 -48
- data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
- data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
- data/vendor/libgit2/src/streams/curl.c +0 -385
- data/vendor/libgit2/src/streams/curl.h +0 -17
- /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
#ifndef INCLUDE_userdiff_h__
|
|
8
8
|
#define INCLUDE_userdiff_h__
|
|
9
9
|
|
|
10
|
+
#include "regexp.h"
|
|
11
|
+
|
|
10
12
|
/*
|
|
11
13
|
* This file isolates the built in diff driver function name patterns.
|
|
12
14
|
* Most of these patterns are taken from Git (with permission from the
|
|
@@ -29,7 +31,7 @@ typedef struct {
|
|
|
29
31
|
#define PATTERNS(NAME, FN_PATS, WORD_PAT) \
|
|
30
32
|
{ NAME, FN_PATS, WORD_PAT WORD_DEFAULT, 0 }
|
|
31
33
|
#define IPATTERN(NAME, FN_PATS, WORD_PAT) \
|
|
32
|
-
{ NAME, FN_PATS, WORD_PAT WORD_DEFAULT,
|
|
34
|
+
{ NAME, FN_PATS, WORD_PAT WORD_DEFAULT, GIT_REGEXP_ICASE }
|
|
33
35
|
|
|
34
36
|
/*
|
|
35
37
|
* The table of diff driver patterns
|
data/vendor/libgit2/src/util.c
CHANGED
|
@@ -49,7 +49,7 @@ int git_strarray_copy(git_strarray *tgt, const git_strarray *src)
|
|
|
49
49
|
return 0;
|
|
50
50
|
|
|
51
51
|
tgt->strings = git__calloc(src->count, sizeof(char *));
|
|
52
|
-
|
|
52
|
+
GIT_ERROR_CHECK_ALLOC(tgt->strings);
|
|
53
53
|
|
|
54
54
|
for (i = 0; i < src->count; ++i) {
|
|
55
55
|
if (!src->strings[i])
|
|
@@ -68,12 +68,6 @@ int git_strarray_copy(git_strarray *tgt, const git_strarray *src)
|
|
|
68
68
|
return 0;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
int git__strtol64(int64_t *result, const char *nptr, const char **endptr, int base)
|
|
72
|
-
{
|
|
73
|
-
|
|
74
|
-
return git__strntol64(result, nptr, (size_t)-1, endptr, base);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
71
|
int git__strntol64(int64_t *result, const char *nptr, size_t nptr_len, const char **endptr, int base)
|
|
78
72
|
{
|
|
79
73
|
const char *p;
|
|
@@ -89,35 +83,55 @@ int git__strntol64(int64_t *result, const char *nptr, size_t nptr_len, const cha
|
|
|
89
83
|
/*
|
|
90
84
|
* White space
|
|
91
85
|
*/
|
|
92
|
-
while (git__isspace(*p))
|
|
93
|
-
p
|
|
86
|
+
while (nptr_len && git__isspace(*p))
|
|
87
|
+
p++, nptr_len--;
|
|
88
|
+
|
|
89
|
+
if (!nptr_len)
|
|
90
|
+
goto Return;
|
|
94
91
|
|
|
95
92
|
/*
|
|
96
93
|
* Sign
|
|
97
94
|
*/
|
|
98
|
-
if (*p == '-' || *p == '+')
|
|
99
|
-
if (*p
|
|
95
|
+
if (*p == '-' || *p == '+') {
|
|
96
|
+
if (*p == '-')
|
|
100
97
|
neg = 1;
|
|
98
|
+
p++;
|
|
99
|
+
nptr_len--;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (!nptr_len)
|
|
103
|
+
goto Return;
|
|
101
104
|
|
|
102
105
|
/*
|
|
103
|
-
*
|
|
106
|
+
* Automatically detect the base if none was given to us.
|
|
107
|
+
* Right now, we assume that a number starting with '0x'
|
|
108
|
+
* is hexadecimal and a number starting with '0' is
|
|
109
|
+
* octal.
|
|
104
110
|
*/
|
|
105
111
|
if (base == 0) {
|
|
106
112
|
if (*p != '0')
|
|
107
113
|
base = 10;
|
|
108
|
-
else
|
|
114
|
+
else if (nptr_len > 2 && (p[1] == 'x' || p[1] == 'X'))
|
|
115
|
+
base = 16;
|
|
116
|
+
else
|
|
109
117
|
base = 8;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
} else if (base == 16 && *p == '0') {
|
|
116
|
-
if (p[1] == 'x' || p[1] == 'X')
|
|
117
|
-
p += 2;
|
|
118
|
-
} else if (base < 0 || 36 < base)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (base < 0 || 36 < base)
|
|
119
121
|
goto Return;
|
|
120
122
|
|
|
123
|
+
/*
|
|
124
|
+
* Skip prefix of '0x'-prefixed hexadecimal numbers. There is no
|
|
125
|
+
* need to do the same for '0'-prefixed octal numbers as a
|
|
126
|
+
* leading '0' does not have any impact. Also, if we skip a
|
|
127
|
+
* leading '0' in such a string, then we may end up with no
|
|
128
|
+
* digits left and produce an error later on which isn't one.
|
|
129
|
+
*/
|
|
130
|
+
if (base == 16 && nptr_len > 2 && p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) {
|
|
131
|
+
p += 2;
|
|
132
|
+
nptr_len -= 2;
|
|
133
|
+
}
|
|
134
|
+
|
|
121
135
|
/*
|
|
122
136
|
* Non-empty sequence of digits
|
|
123
137
|
*/
|
|
@@ -132,15 +146,25 @@ int git__strntol64(int64_t *result, const char *nptr, size_t nptr_len, const cha
|
|
|
132
146
|
v = c - 'A' + 10;
|
|
133
147
|
if (v >= base)
|
|
134
148
|
break;
|
|
135
|
-
|
|
136
|
-
if (
|
|
149
|
+
v = neg ? -v : v;
|
|
150
|
+
if (n > INT64_MAX / base || n < INT64_MIN / base) {
|
|
137
151
|
ovfl = 1;
|
|
138
|
-
|
|
152
|
+
/* Keep on iterating until the end of this number */
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
nn = n * base;
|
|
156
|
+
if ((v > 0 && nn > INT64_MAX - v) ||
|
|
157
|
+
(v < 0 && nn < INT64_MIN - v)) {
|
|
158
|
+
ovfl = 1;
|
|
159
|
+
/* Keep on iterating until the end of this number */
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
n = nn + v;
|
|
139
163
|
}
|
|
140
164
|
|
|
141
165
|
Return:
|
|
142
166
|
if (ndig == 0) {
|
|
143
|
-
|
|
167
|
+
git_error_set(GIT_ERROR_INVALID, "failed to convert string to long: not a number");
|
|
144
168
|
return -1;
|
|
145
169
|
}
|
|
146
170
|
|
|
@@ -148,7 +172,7 @@ Return:
|
|
|
148
172
|
*endptr = p;
|
|
149
173
|
|
|
150
174
|
if (ovfl) {
|
|
151
|
-
|
|
175
|
+
git_error_set(GIT_ERROR_INVALID, "failed to convert string to long: overflow error");
|
|
152
176
|
return -1;
|
|
153
177
|
}
|
|
154
178
|
|
|
@@ -156,39 +180,30 @@ Return:
|
|
|
156
180
|
return 0;
|
|
157
181
|
}
|
|
158
182
|
|
|
159
|
-
int git__strtol32(int32_t *result, const char *nptr, const char **endptr, int base)
|
|
160
|
-
{
|
|
161
|
-
|
|
162
|
-
return git__strntol32(result, nptr, (size_t)-1, endptr, base);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
183
|
int git__strntol32(int32_t *result, const char *nptr, size_t nptr_len, const char **endptr, int base)
|
|
166
184
|
{
|
|
167
|
-
|
|
185
|
+
const char *tmp_endptr;
|
|
168
186
|
int32_t tmp_int;
|
|
169
187
|
int64_t tmp_long;
|
|
188
|
+
int error;
|
|
170
189
|
|
|
171
|
-
if ((error = git__strntol64(&tmp_long, nptr, nptr_len,
|
|
190
|
+
if ((error = git__strntol64(&tmp_long, nptr, nptr_len, &tmp_endptr, base)) < 0)
|
|
172
191
|
return error;
|
|
173
192
|
|
|
174
193
|
tmp_int = tmp_long & 0xFFFFFFFF;
|
|
175
194
|
if (tmp_int != tmp_long) {
|
|
176
|
-
|
|
195
|
+
int len = (int)(tmp_endptr - nptr);
|
|
196
|
+
git_error_set(GIT_ERROR_INVALID, "failed to convert: '%.*s' is too large", len, nptr);
|
|
177
197
|
return -1;
|
|
178
198
|
}
|
|
179
199
|
|
|
180
200
|
*result = tmp_int;
|
|
201
|
+
if (endptr)
|
|
202
|
+
*endptr = tmp_endptr;
|
|
181
203
|
|
|
182
204
|
return error;
|
|
183
205
|
}
|
|
184
206
|
|
|
185
|
-
int git__strcmp(const char *a, const char *b)
|
|
186
|
-
{
|
|
187
|
-
while (*a && *b && *a == *b)
|
|
188
|
-
++a, ++b;
|
|
189
|
-
return (int)(*(const unsigned char *)a) - (int)(*(const unsigned char *)b);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
207
|
int git__strcasecmp(const char *a, const char *b)
|
|
193
208
|
{
|
|
194
209
|
while (*a && *b && git__tolower(*a) == git__tolower(*b))
|
|
@@ -218,15 +233,6 @@ int git__strcasesort_cmp(const char *a, const char *b)
|
|
|
218
233
|
return cmp;
|
|
219
234
|
}
|
|
220
235
|
|
|
221
|
-
int git__strncmp(const char *a, const char *b, size_t sz)
|
|
222
|
-
{
|
|
223
|
-
while (sz && *a && *b && *a == *b)
|
|
224
|
-
--sz, ++a, ++b;
|
|
225
|
-
if (!sz)
|
|
226
|
-
return 0;
|
|
227
|
-
return (int)(*(const unsigned char *)a) - (int)(*(const unsigned char *)b);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
236
|
int git__strncasecmp(const char *a, const char *b, size_t sz)
|
|
231
237
|
{
|
|
232
238
|
int al, bl;
|
|
@@ -279,7 +285,18 @@ GIT_INLINE(int) prefixcmp(const char *str, size_t str_n, const char *prefix, boo
|
|
|
279
285
|
|
|
280
286
|
int git__prefixcmp(const char *str, const char *prefix)
|
|
281
287
|
{
|
|
282
|
-
|
|
288
|
+
unsigned char s, p;
|
|
289
|
+
|
|
290
|
+
while (1) {
|
|
291
|
+
p = *prefix++;
|
|
292
|
+
s = *str++;
|
|
293
|
+
|
|
294
|
+
if (!p)
|
|
295
|
+
return 0;
|
|
296
|
+
|
|
297
|
+
if (s != p)
|
|
298
|
+
return s - p;
|
|
299
|
+
}
|
|
283
300
|
}
|
|
284
301
|
|
|
285
302
|
int git__prefixncmp(const char *str, size_t str_n, const char *prefix)
|
|
@@ -355,6 +372,47 @@ size_t git__linenlen(const char *buffer, size_t buffer_len)
|
|
|
355
372
|
return nl ? (size_t)(nl - buffer) + 1 : buffer_len;
|
|
356
373
|
}
|
|
357
374
|
|
|
375
|
+
/*
|
|
376
|
+
* Adapted Not So Naive algorithm from http://www-igm.univ-mlv.fr/~lecroq/string/
|
|
377
|
+
*/
|
|
378
|
+
const void * git__memmem(const void *haystack, size_t haystacklen,
|
|
379
|
+
const void *needle, size_t needlelen)
|
|
380
|
+
{
|
|
381
|
+
const char *h, *n;
|
|
382
|
+
size_t j, k, l;
|
|
383
|
+
|
|
384
|
+
if (needlelen > haystacklen || !haystacklen || !needlelen)
|
|
385
|
+
return NULL;
|
|
386
|
+
|
|
387
|
+
h = (const char *) haystack,
|
|
388
|
+
n = (const char *) needle;
|
|
389
|
+
|
|
390
|
+
if (needlelen == 1)
|
|
391
|
+
return memchr(haystack, *n, haystacklen);
|
|
392
|
+
|
|
393
|
+
if (n[0] == n[1]) {
|
|
394
|
+
k = 2;
|
|
395
|
+
l = 1;
|
|
396
|
+
} else {
|
|
397
|
+
k = 1;
|
|
398
|
+
l = 2;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
j = 0;
|
|
402
|
+
while (j <= haystacklen - needlelen) {
|
|
403
|
+
if (n[1] != h[j + 1]) {
|
|
404
|
+
j += k;
|
|
405
|
+
} else {
|
|
406
|
+
if (memcmp(n + 2, h + j + 2, needlelen - 2) == 0 &&
|
|
407
|
+
n[0] == h[j])
|
|
408
|
+
return h + j;
|
|
409
|
+
j += l;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
return NULL;
|
|
414
|
+
}
|
|
415
|
+
|
|
358
416
|
void git__hexdump(const char *buffer, size_t len)
|
|
359
417
|
{
|
|
360
418
|
static const size_t LINE_WIDTH = 16;
|
|
@@ -647,7 +705,7 @@ size_t git__unescape(char *str)
|
|
|
647
705
|
return (pos - str);
|
|
648
706
|
}
|
|
649
707
|
|
|
650
|
-
#if defined(HAVE_QSORT_S) ||
|
|
708
|
+
#if defined(HAVE_QSORT_S) || defined(HAVE_QSORT_R_BSD)
|
|
651
709
|
typedef struct {
|
|
652
710
|
git__sort_r_cmp cmp;
|
|
653
711
|
void *payload;
|
|
@@ -661,43 +719,51 @@ static int GIT_STDLIB_CALL git__qsort_r_glue_cmp(
|
|
|
661
719
|
}
|
|
662
720
|
#endif
|
|
663
721
|
|
|
664
|
-
|
|
665
|
-
|
|
722
|
+
|
|
723
|
+
#if !defined(HAVE_QSORT_R_BSD) && \
|
|
724
|
+
!defined(HAVE_QSORT_R_GNU) && \
|
|
725
|
+
!defined(HAVE_QSORT_S)
|
|
726
|
+
static void swap(uint8_t *a, uint8_t *b, size_t elsize)
|
|
666
727
|
{
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
git__insertsort_r(els, nel, elsize, NULL, cmp, payload);
|
|
677
|
-
#endif
|
|
728
|
+
char tmp[256];
|
|
729
|
+
|
|
730
|
+
while (elsize) {
|
|
731
|
+
size_t n = elsize < sizeof(tmp) ? elsize : sizeof(tmp);
|
|
732
|
+
memcpy(tmp, a + elsize - n, n);
|
|
733
|
+
memcpy(a + elsize - n, b + elsize - n, n);
|
|
734
|
+
memcpy(b + elsize - n, tmp, n);
|
|
735
|
+
elsize -= n;
|
|
736
|
+
}
|
|
678
737
|
}
|
|
679
738
|
|
|
680
|
-
void
|
|
681
|
-
void *els, size_t nel, size_t elsize,
|
|
739
|
+
static void insertsort(
|
|
740
|
+
void *els, size_t nel, size_t elsize,
|
|
682
741
|
git__sort_r_cmp cmp, void *payload)
|
|
683
742
|
{
|
|
684
743
|
uint8_t *base = els;
|
|
685
744
|
uint8_t *end = base + nel * elsize;
|
|
686
745
|
uint8_t *i, *j;
|
|
687
|
-
bool freeswap = !swapel;
|
|
688
|
-
|
|
689
|
-
if (freeswap)
|
|
690
|
-
swapel = git__malloc(elsize);
|
|
691
746
|
|
|
692
747
|
for (i = base + elsize; i < end; i += elsize)
|
|
693
|
-
for (j = i; j > base && cmp(j, j - elsize, payload) < 0; j -= elsize)
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
}
|
|
748
|
+
for (j = i; j > base && cmp(j, j - elsize, payload) < 0; j -= elsize)
|
|
749
|
+
swap(j, j - elsize, elsize);
|
|
750
|
+
}
|
|
751
|
+
#endif
|
|
698
752
|
|
|
699
|
-
|
|
700
|
-
|
|
753
|
+
void git__qsort_r(
|
|
754
|
+
void *els, size_t nel, size_t elsize, git__sort_r_cmp cmp, void *payload)
|
|
755
|
+
{
|
|
756
|
+
#if defined(HAVE_QSORT_R_BSD)
|
|
757
|
+
git__qsort_r_glue glue = { cmp, payload };
|
|
758
|
+
qsort_r(els, nel, elsize, &glue, git__qsort_r_glue_cmp);
|
|
759
|
+
#elif defined(HAVE_QSORT_R_GNU)
|
|
760
|
+
qsort_r(els, nel, elsize, cmp, payload);
|
|
761
|
+
#elif defined(HAVE_QSORT_S)
|
|
762
|
+
git__qsort_r_glue glue = { cmp, payload };
|
|
763
|
+
qsort_s(els, nel, elsize, git__qsort_r_glue_cmp, &glue);
|
|
764
|
+
#else
|
|
765
|
+
insertsort(els, nel, elsize, cmp, payload);
|
|
766
|
+
#endif
|
|
701
767
|
}
|
|
702
768
|
|
|
703
769
|
/*
|
|
@@ -744,23 +810,23 @@ static const int8_t utf8proc_utf8class[256] = {
|
|
|
744
810
|
4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0
|
|
745
811
|
};
|
|
746
812
|
|
|
747
|
-
int git__utf8_charlen(const uint8_t *str,
|
|
813
|
+
int git__utf8_charlen(const uint8_t *str, size_t str_len)
|
|
748
814
|
{
|
|
749
|
-
|
|
815
|
+
size_t length, i;
|
|
750
816
|
|
|
751
817
|
length = utf8proc_utf8class[str[0]];
|
|
752
818
|
if (!length)
|
|
753
819
|
return -1;
|
|
754
820
|
|
|
755
|
-
if (str_len
|
|
756
|
-
return -
|
|
821
|
+
if (str_len > 0 && length > str_len)
|
|
822
|
+
return -1;
|
|
757
823
|
|
|
758
824
|
for (i = 1; i < length; i++) {
|
|
759
825
|
if ((str[i] & 0xC0) != 0x80)
|
|
760
|
-
return -
|
|
826
|
+
return -1;
|
|
761
827
|
}
|
|
762
828
|
|
|
763
|
-
return length;
|
|
829
|
+
return (int)length;
|
|
764
830
|
}
|
|
765
831
|
|
|
766
832
|
int git__utf8_iterate(const uint8_t *str, int str_len, int32_t *dst)
|
|
@@ -801,11 +867,6 @@ int git__utf8_iterate(const uint8_t *str, int str_len, int32_t *dst)
|
|
|
801
867
|
return length;
|
|
802
868
|
}
|
|
803
869
|
|
|
804
|
-
double git_time_monotonic(void)
|
|
805
|
-
{
|
|
806
|
-
return git__timer();
|
|
807
|
-
}
|
|
808
|
-
|
|
809
870
|
size_t git__utf8_valid_buf_length(const uint8_t *str, size_t str_len)
|
|
810
871
|
{
|
|
811
872
|
size_t offset = 0;
|
|
@@ -836,7 +897,7 @@ int git__getenv(git_buf *out, const char *name)
|
|
|
836
897
|
|
|
837
898
|
if ((value_len = GetEnvironmentVariableW(wide_name, NULL, 0)) > 0) {
|
|
838
899
|
wide_value = git__malloc(value_len * sizeof(wchar_t));
|
|
839
|
-
|
|
900
|
+
GIT_ERROR_CHECK_ALLOC(wide_value);
|
|
840
901
|
|
|
841
902
|
value_len = GetEnvironmentVariableW(wide_name, wide_value, value_len);
|
|
842
903
|
}
|
|
@@ -846,7 +907,7 @@ int git__getenv(git_buf *out, const char *name)
|
|
|
846
907
|
else if (GetLastError() == ERROR_ENVVAR_NOT_FOUND)
|
|
847
908
|
error = GIT_ENOTFOUND;
|
|
848
909
|
else
|
|
849
|
-
|
|
910
|
+
git_error_set(GIT_ERROR_OS, "could not read environment variable '%s'", name);
|
|
850
911
|
|
|
851
912
|
git__free(wide_name);
|
|
852
913
|
git__free(wide_value);
|
data/vendor/libgit2/src/util.h
CHANGED
|
@@ -30,6 +30,17 @@
|
|
|
30
30
|
# define max(a,b) ((a) > (b) ? (a) : (b))
|
|
31
31
|
#endif
|
|
32
32
|
|
|
33
|
+
#if defined(__GNUC__)
|
|
34
|
+
# define GIT_CONTAINER_OF(ptr, type, member) \
|
|
35
|
+
__builtin_choose_expr( \
|
|
36
|
+
__builtin_offsetof(type, member) == 0 && \
|
|
37
|
+
__builtin_types_compatible_p(typeof(&((type *) 0)->member), typeof(ptr)), \
|
|
38
|
+
((type *) (ptr)), \
|
|
39
|
+
(void)0)
|
|
40
|
+
#else
|
|
41
|
+
# define GIT_CONTAINER_OF(ptr, type, member) (type *)(ptr)
|
|
42
|
+
#endif
|
|
43
|
+
|
|
33
44
|
#define GIT_DATE_RFC2822_SZ 32
|
|
34
45
|
|
|
35
46
|
/**
|
|
@@ -58,9 +69,7 @@ GIT_INLINE(int) git__signum(int val)
|
|
|
58
69
|
return ((val > 0) - (val < 0));
|
|
59
70
|
}
|
|
60
71
|
|
|
61
|
-
extern int git__strtol32(int32_t *n, const char *buff, const char **end_buf, int base);
|
|
62
72
|
extern int git__strntol32(int32_t *n, const char *buff, size_t buff_len, const char **end_buf, int base);
|
|
63
|
-
extern int git__strtol64(int64_t *n, const char *buff, const char **end_buf, int base);
|
|
64
73
|
extern int git__strntol64(int64_t *n, const char *buff, size_t buff_len, const char **end_buf, int base);
|
|
65
74
|
|
|
66
75
|
|
|
@@ -113,6 +122,9 @@ GIT_INLINE(const void *) git__memrchr(const void *s, int c, size_t n)
|
|
|
113
122
|
return NULL;
|
|
114
123
|
}
|
|
115
124
|
|
|
125
|
+
extern const void * git__memmem(const void *haystack, size_t haystacklen,
|
|
126
|
+
const void *needle, size_t needlelen);
|
|
127
|
+
|
|
116
128
|
typedef int (*git__tsort_cmp)(const void *a, const void *b);
|
|
117
129
|
|
|
118
130
|
extern void git__tsort(void **dst, size_t size, git__tsort_cmp cmp);
|
|
@@ -125,10 +137,6 @@ extern void git__tsort_r(
|
|
|
125
137
|
extern void git__qsort_r(
|
|
126
138
|
void *els, size_t nel, size_t elsize, git__sort_r_cmp cmp, void *payload);
|
|
127
139
|
|
|
128
|
-
extern void git__insertsort_r(
|
|
129
|
-
void *els, size_t nel, size_t elsize, void *swapel,
|
|
130
|
-
git__sort_r_cmp cmp, void *payload);
|
|
131
|
-
|
|
132
140
|
/**
|
|
133
141
|
* @param position If non-NULL, this will be set to the position where the
|
|
134
142
|
* element is or would be inserted if not found.
|
|
@@ -149,12 +157,13 @@ extern int git__bsearch_r(
|
|
|
149
157
|
void *payload,
|
|
150
158
|
size_t *position);
|
|
151
159
|
|
|
160
|
+
#define git__strcmp strcmp
|
|
161
|
+
#define git__strncmp strncmp
|
|
162
|
+
|
|
152
163
|
extern int git__strcmp_cb(const void *a, const void *b);
|
|
153
164
|
extern int git__strcasecmp_cb(const void *a, const void *b);
|
|
154
165
|
|
|
155
|
-
extern int git__strcmp(const char *a, const char *b);
|
|
156
166
|
extern int git__strcasecmp(const char *a, const char *b);
|
|
157
|
-
extern int git__strncmp(const char *a, const char *b, size_t sz);
|
|
158
167
|
extern int git__strncasecmp(const char *a, const char *b, size_t sz);
|
|
159
168
|
|
|
160
169
|
extern int git__strcasesort_cmp(const char *a, const char *b);
|
|
@@ -348,22 +357,9 @@ GIT_INLINE(void) git__memzero(void *data, size_t size)
|
|
|
348
357
|
|
|
349
358
|
GIT_INLINE(double) git__timer(void)
|
|
350
359
|
{
|
|
351
|
-
/*
|
|
352
|
-
* count has rolled over. */
|
|
353
|
-
static DWORD initial_tick_count = 0;
|
|
354
|
-
|
|
355
|
-
/* GetTickCount returns the number of milliseconds that have
|
|
360
|
+
/* GetTickCount64 returns the number of milliseconds that have
|
|
356
361
|
* elapsed since the system was started. */
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
if(initial_tick_count == 0) {
|
|
360
|
-
initial_tick_count = count;
|
|
361
|
-
} else if (count < initial_tick_count) {
|
|
362
|
-
/* The tick count has rolled over - adjust for it. */
|
|
363
|
-
count = (0xFFFFFFFF - initial_tick_count) + count;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
return (double) count / (double) 1000;
|
|
362
|
+
return (double) GetTickCount64() / (double) 1000;
|
|
367
363
|
}
|
|
368
364
|
|
|
369
365
|
#elif __APPLE__
|
data/vendor/libgit2/src/vector.c
CHANGED
|
@@ -32,8 +32,11 @@ GIT_INLINE(int) resize_vector(git_vector *v, size_t new_size)
|
|
|
32
32
|
{
|
|
33
33
|
void *new_contents;
|
|
34
34
|
|
|
35
|
+
if (new_size == 0)
|
|
36
|
+
return 0;
|
|
37
|
+
|
|
35
38
|
new_contents = git__reallocarray(v->contents, new_size, sizeof(void *));
|
|
36
|
-
|
|
39
|
+
GIT_ERROR_CHECK_ALLOC(new_contents);
|
|
37
40
|
|
|
38
41
|
v->_alloc_size = new_size;
|
|
39
42
|
v->contents = new_contents;
|
|
@@ -50,22 +53,24 @@ int git_vector_size_hint(git_vector *v, size_t size_hint)
|
|
|
50
53
|
|
|
51
54
|
int git_vector_dup(git_vector *v, const git_vector *src, git_vector_cmp cmp)
|
|
52
55
|
{
|
|
53
|
-
size_t bytes;
|
|
54
|
-
|
|
55
56
|
assert(v && src);
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
v->_alloc_size = src->length;
|
|
58
|
+
v->_alloc_size = 0;
|
|
59
|
+
v->contents = NULL;
|
|
60
60
|
v->_cmp = cmp ? cmp : src->_cmp;
|
|
61
61
|
v->length = src->length;
|
|
62
62
|
v->flags = src->flags;
|
|
63
63
|
if (cmp != src->_cmp)
|
|
64
64
|
git_vector_set_sorted(v, 0);
|
|
65
|
-
v->contents = git__malloc(bytes);
|
|
66
|
-
GITERR_CHECK_ALLOC(v->contents);
|
|
67
65
|
|
|
68
|
-
|
|
66
|
+
if (src->length) {
|
|
67
|
+
size_t bytes;
|
|
68
|
+
GIT_ERROR_CHECK_ALLOC_MULTIPLY(&bytes, src->length, sizeof(void *));
|
|
69
|
+
v->contents = git__malloc(bytes);
|
|
70
|
+
GIT_ERROR_CHECK_ALLOC(v->contents);
|
|
71
|
+
v->_alloc_size = src->length;
|
|
72
|
+
memcpy(v->contents, src->contents, bytes);
|
|
73
|
+
}
|
|
69
74
|
|
|
70
75
|
return 0;
|
|
71
76
|
}
|
|
@@ -337,7 +342,7 @@ int git_vector_insert_null(git_vector *v, size_t idx, size_t insert_len)
|
|
|
337
342
|
|
|
338
343
|
assert(insert_len > 0 && idx <= v->length);
|
|
339
344
|
|
|
340
|
-
|
|
345
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&new_length, v->length, insert_len);
|
|
341
346
|
|
|
342
347
|
if (new_length > v->_alloc_size && resize_vector(v, new_length) < 0)
|
|
343
348
|
return -1;
|