Merge pull request #180 from mingnus/2021-06-25-update-deps
Update config scripts and Rust dependencies
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -20,6 +20,7 @@ core
 | 
			
		||||
googletest/
 | 
			
		||||
 | 
			
		||||
bin/pdata_tools
 | 
			
		||||
bin/pdata_tools_dev
 | 
			
		||||
thin_check
 | 
			
		||||
thin_dump
 | 
			
		||||
thin_restore
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										448
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										448
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -1,16 +1,18 @@
 | 
			
		||||
# This file is automatically @generated by Cargo.
 | 
			
		||||
# It is not intended for manual editing.
 | 
			
		||||
version = 3
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "adler"
 | 
			
		||||
version = "0.2.3"
 | 
			
		||||
version = "1.0.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
 | 
			
		||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "aho-corasick"
 | 
			
		||||
version = "0.7.13"
 | 
			
		||||
version = "0.7.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86"
 | 
			
		||||
checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "memchr",
 | 
			
		||||
]
 | 
			
		||||
@@ -26,15 +28,15 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "anyhow"
 | 
			
		||||
version = "1.0.32"
 | 
			
		||||
version = "1.0.41"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6b602bfe940d21c130f3895acd65221e8a61270debe89d628b9cb4e3ccb8569b"
 | 
			
		||||
checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "arrayvec"
 | 
			
		||||
version = "0.5.1"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 | 
			
		||||
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "atty"
 | 
			
		||||
@@ -55,9 +57,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "base64"
 | 
			
		||||
version = "0.12.3"
 | 
			
		||||
version = "0.13.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
 | 
			
		||||
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bitflags"
 | 
			
		||||
@@ -67,9 +69,9 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bitvec"
 | 
			
		||||
version = "0.19.4"
 | 
			
		||||
version = "0.19.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a7ba35e9565969edb811639dbebfe34edc0368e472c5018474c8eb2543397f81"
 | 
			
		||||
checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "funty",
 | 
			
		||||
 "radium",
 | 
			
		||||
@@ -79,9 +81,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "byteorder"
 | 
			
		||||
version = "1.3.4"
 | 
			
		||||
version = "1.4.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
 | 
			
		||||
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cassowary"
 | 
			
		||||
@@ -91,15 +93,15 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cc"
 | 
			
		||||
version = "1.0.60"
 | 
			
		||||
version = "1.0.68"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"
 | 
			
		||||
checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cfg-if"
 | 
			
		||||
version = "0.1.10"
 | 
			
		||||
version = "1.0.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 | 
			
		||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "clap"
 | 
			
		||||
@@ -118,47 +120,46 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "console"
 | 
			
		||||
version = "0.12.0"
 | 
			
		||||
version = "0.14.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c0b1aacfaffdbff75be81c15a399b4bedf78aaefe840e8af1d299ac2ade885d2"
 | 
			
		||||
checksum = "3993e6445baa160675931ec041a5e03ca84b9c6e32a056150d3aa2bdda0a1f45"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "encode_unicode",
 | 
			
		||||
 "lazy_static",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "regex",
 | 
			
		||||
 "terminal_size",
 | 
			
		||||
 "termios",
 | 
			
		||||
 "unicode-width",
 | 
			
		||||
 "winapi",
 | 
			
		||||
 "winapi-util",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "crc32c"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
version = "0.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "77ba37ef26c12988c1cee882d522d65e1d5d2ad8c3864665b88ee92767ed84c5"
 | 
			
		||||
checksum = "210cdf933e6a81212bfabf90cd8762f471b5922e5f6b709547673ad8e04b9448"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rustc_version",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "crc32fast"
 | 
			
		||||
version = "1.2.0"
 | 
			
		||||
version = "1.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
 | 
			
		||||
checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "data-encoding"
 | 
			
		||||
version = "2.3.0"
 | 
			
		||||
version = "2.3.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d4d0e2d24e5ee3b23a01de38eefdcd978907890701f08ffffd4cb457ca4ee8d6"
 | 
			
		||||
checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "duct"
 | 
			
		||||
version = "0.13.4"
 | 
			
		||||
version = "0.13.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f90a9c3a25aafbd538c7d40a53f83c4487ee8216c12d1c8ef2c01eb2f6ea1553"
 | 
			
		||||
checksum = "0fc6a0a59ed0888e0041cf708e66357b7ae1a82f1c67247e1f93b5e0818f7d8d"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
@@ -184,15 +185,15 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "fixedbitset"
 | 
			
		||||
version = "0.3.1"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4e08c8bc7575d7e091fe0706963bd22e2a4be6a64da995f03b2a5a57d66ad015"
 | 
			
		||||
checksum = "398ea4fabe40b9b0d885340a2a991a44c8a645624075ad966d21f88688e2b69e"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "flate2"
 | 
			
		||||
version = "1.0.17"
 | 
			
		||||
version = "1.0.20"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "766d0e77a2c1502169d4a93ff3b8c15a71fd946cd0126309752104e5f3c46d94"
 | 
			
		||||
checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "crc32fast",
 | 
			
		||||
@@ -202,15 +203,15 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "funty"
 | 
			
		||||
version = "1.0.1"
 | 
			
		||||
version = "1.1.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "0ba62103ce691c2fd80fbae2213dfdda9ce60804973ac6b6e97de818ea7f52c8"
 | 
			
		||||
checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1e05b85ec287aac0dc34db7d4a569323df697f9c55b99b15d6b4ef8cde49f613"
 | 
			
		||||
checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "futures-channel",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
@@ -223,9 +224,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-channel"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5"
 | 
			
		||||
checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-sink",
 | 
			
		||||
@@ -233,15 +234,15 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-core"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399"
 | 
			
		||||
checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-executor"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "10d6bb888be1153d3abeb9006b11b02cf5e9b209fda28693c31ae1e4e012e314"
 | 
			
		||||
checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-task",
 | 
			
		||||
@@ -250,16 +251,17 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-io"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789"
 | 
			
		||||
checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-macro"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39"
 | 
			
		||||
checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
 "proc-macro-hack",
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
@@ -268,25 +270,23 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-sink"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc"
 | 
			
		||||
checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-task"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "once_cell",
 | 
			
		||||
]
 | 
			
		||||
checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-util"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.3.15"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6"
 | 
			
		||||
checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
 "futures-channel",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-io",
 | 
			
		||||
@@ -294,7 +294,7 @@ dependencies = [
 | 
			
		||||
 "futures-sink",
 | 
			
		||||
 "futures-task",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "pin-project",
 | 
			
		||||
 "pin-project-lite",
 | 
			
		||||
 "pin-utils",
 | 
			
		||||
 "proc-macro-hack",
 | 
			
		||||
 "proc-macro-nested",
 | 
			
		||||
@@ -303,29 +303,40 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "getrandom"
 | 
			
		||||
version = "0.1.15"
 | 
			
		||||
version = "0.1.16"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
 | 
			
		||||
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "wasi",
 | 
			
		||||
 "wasi 0.9.0+wasi-snapshot-preview1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "getrandom"
 | 
			
		||||
version = "0.2.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "wasi 0.10.2+wasi-snapshot-preview1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "hermit-abi"
 | 
			
		||||
version = "0.1.15"
 | 
			
		||||
version = "0.1.19"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
 | 
			
		||||
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "indicatif"
 | 
			
		||||
version = "0.15.0"
 | 
			
		||||
version = "0.16.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7baab56125e25686df467fe470785512329883aab42696d661247aca2a2896e4"
 | 
			
		||||
checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "console",
 | 
			
		||||
 "lazy_static",
 | 
			
		||||
@@ -335,9 +346,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "io-uring"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a31e11f8867575fc79a3e73e5f554d0b7386bc4a6f469039e8a83136c724fd81"
 | 
			
		||||
checksum = "2f7589adca0ddd74f56ed83a5098b45e3abf264dc27e150a8bec3397fcc34338"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "libc",
 | 
			
		||||
@@ -357,9 +368,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lexical-core"
 | 
			
		||||
version = "0.7.4"
 | 
			
		||||
version = "0.7.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "db65c6da02e61f55dae90a0ae427b2a5f6b3e8db09f58d10efab23af92592616"
 | 
			
		||||
checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "arrayvec",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
@@ -370,30 +381,39 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libc"
 | 
			
		||||
version = "0.2.77"
 | 
			
		||||
version = "0.2.97"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235"
 | 
			
		||||
checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "log"
 | 
			
		||||
version = "0.4.11"
 | 
			
		||||
version = "0.4.14"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
 | 
			
		||||
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "memchr"
 | 
			
		||||
version = "2.3.3"
 | 
			
		||||
version = "2.3.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
 | 
			
		||||
checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "memoffset"
 | 
			
		||||
version = "0.6.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "miniz_oxide"
 | 
			
		||||
version = "0.4.2"
 | 
			
		||||
version = "0.4.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c60c0dfe32c10b43a144bad8fc83538c52f58302c92300ea7ec7bf7b38d5a7b9"
 | 
			
		||||
checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "adler",
 | 
			
		||||
 "autocfg",
 | 
			
		||||
@@ -401,24 +421,25 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "nix"
 | 
			
		||||
version = "0.17.0"
 | 
			
		||||
version = "0.21.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363"
 | 
			
		||||
checksum = "5c3728fec49d363a50a8828a190b379a446cc5cf085c06259bbbeb34447e4ec7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "cc",
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "void",
 | 
			
		||||
 "memoffset",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "nom"
 | 
			
		||||
version = "6.0.0"
 | 
			
		||||
version = "6.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4489ccc7d668957ddf64af7cd027c081728903afa6479d35da7e99bf5728f75f"
 | 
			
		||||
checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitvec",
 | 
			
		||||
 "funty",
 | 
			
		||||
 "lexical-core",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "version_check",
 | 
			
		||||
@@ -426,9 +447,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-derive"
 | 
			
		||||
version = "0.3.2"
 | 
			
		||||
version = "0.3.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6f09b9841adb6b5e1f89ef7087ea636e0fd94b2851f887c1e3eb5d5f8228fab3"
 | 
			
		||||
checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
@@ -437,9 +458,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-traits"
 | 
			
		||||
version = "0.2.12"
 | 
			
		||||
version = "0.2.14"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
 | 
			
		||||
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
]
 | 
			
		||||
@@ -456,9 +477,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "number_prefix"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "17b02fc0ff9a9e4b35b3342880f48e896ebf69f2967921fe8646bf5b7125956a"
 | 
			
		||||
checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "numtoa"
 | 
			
		||||
@@ -468,9 +489,9 @@ checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "once_cell"
 | 
			
		||||
version = "1.4.1"
 | 
			
		||||
version = "1.8.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "260e51e7efe62b592207e9e13a68e43692a7a279171d6ba57abd208bf23645ad"
 | 
			
		||||
checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "os_pipe"
 | 
			
		||||
@@ -483,24 +504,10 @@ dependencies = [
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pin-project"
 | 
			
		||||
version = "0.4.23"
 | 
			
		||||
name = "pin-project-lite"
 | 
			
		||||
version = "0.2.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ca4433fff2ae79342e497d9f8ee990d174071408f28f726d6d83af93e58e48aa"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "pin-project-internal",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pin-project-internal"
 | 
			
		||||
version = "0.4.23"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "2c0e815c3ee9a031fdf5af21c10aa17c573c9c6a566328d99e3936c34e36461f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn",
 | 
			
		||||
]
 | 
			
		||||
checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pin-utils"
 | 
			
		||||
@@ -510,36 +517,36 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ppv-lite86"
 | 
			
		||||
version = "0.2.9"
 | 
			
		||||
version = "0.2.10"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20"
 | 
			
		||||
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "proc-macro-hack"
 | 
			
		||||
version = "0.5.18"
 | 
			
		||||
version = "0.5.19"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598"
 | 
			
		||||
checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "proc-macro-nested"
 | 
			
		||||
version = "0.1.6"
 | 
			
		||||
version = "0.1.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"
 | 
			
		||||
checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "proc-macro2"
 | 
			
		||||
version = "1.0.21"
 | 
			
		||||
version = "1.0.27"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c"
 | 
			
		||||
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "unicode-xid",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "quick-xml"
 | 
			
		||||
version = "0.18.1"
 | 
			
		||||
version = "0.22.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3cc440ee4802a86e357165021e3e255a9143724da31db1e2ea540214c96a0f82"
 | 
			
		||||
checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "memchr",
 | 
			
		||||
]
 | 
			
		||||
@@ -552,8 +559,8 @@ checksum = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "env_logger",
 | 
			
		||||
 "log",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand_core",
 | 
			
		||||
 "rand 0.7.3",
 | 
			
		||||
 "rand_core 0.5.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -569,9 +576,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "quote"
 | 
			
		||||
version = "1.0.7"
 | 
			
		||||
version = "1.0.9"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
 | 
			
		||||
checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
]
 | 
			
		||||
@@ -588,11 +595,23 @@ version = "0.7.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "getrandom",
 | 
			
		||||
 "getrandom 0.1.16",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "rand_chacha",
 | 
			
		||||
 "rand_core",
 | 
			
		||||
 "rand_hc",
 | 
			
		||||
 "rand_chacha 0.2.2",
 | 
			
		||||
 "rand_core 0.5.1",
 | 
			
		||||
 "rand_hc 0.2.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand"
 | 
			
		||||
version = "0.8.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "rand_chacha 0.3.1",
 | 
			
		||||
 "rand_core 0.6.3",
 | 
			
		||||
 "rand_hc 0.3.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -602,7 +621,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ppv-lite86",
 | 
			
		||||
 "rand_core",
 | 
			
		||||
 "rand_core 0.5.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand_chacha"
 | 
			
		||||
version = "0.3.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ppv-lite86",
 | 
			
		||||
 "rand_core 0.6.3",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -611,7 +640,16 @@ version = "0.5.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "getrandom",
 | 
			
		||||
 "getrandom 0.1.16",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand_core"
 | 
			
		||||
version = "0.6.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "getrandom 0.2.3",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -620,41 +658,52 @@ version = "0.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rand_core",
 | 
			
		||||
 "rand_core 0.5.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand_hc"
 | 
			
		||||
version = "0.3.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rand_core 0.6.3",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "redox_syscall"
 | 
			
		||||
version = "0.1.57"
 | 
			
		||||
version = "0.2.9"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
 | 
			
		||||
checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "redox_termios"
 | 
			
		||||
version = "0.1.1"
 | 
			
		||||
version = "0.1.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
 | 
			
		||||
checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "redox_syscall",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "regex"
 | 
			
		||||
version = "1.3.9"
 | 
			
		||||
version = "1.4.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
 | 
			
		||||
checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "aho-corasick",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "regex-syntax",
 | 
			
		||||
 "thread_local",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "regex-syntax"
 | 
			
		||||
version = "0.6.18"
 | 
			
		||||
version = "0.6.25"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
 | 
			
		||||
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "remove_dir_all"
 | 
			
		||||
@@ -665,6 +714,15 @@ dependencies = [
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rustc_version"
 | 
			
		||||
version = "0.2.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "semver",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ryu"
 | 
			
		||||
version = "1.0.5"
 | 
			
		||||
@@ -678,10 +736,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "shared_child"
 | 
			
		||||
version = "0.3.4"
 | 
			
		||||
name = "semver"
 | 
			
		||||
version = "0.9.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8cebcf3a403e4deafaf34dc882c4a1b6a648b43e5670aa2e4bb985914eaeb2d2"
 | 
			
		||||
checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "semver-parser",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "semver-parser"
 | 
			
		||||
version = "0.7.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "shared_child"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6be9f7d5565b1483af3e72975e2dee33879b3b86bd48c0929fccf6585d79e65a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "winapi",
 | 
			
		||||
@@ -689,9 +762,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "slab"
 | 
			
		||||
version = "0.4.2"
 | 
			
		||||
version = "0.4.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
 | 
			
		||||
checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "static_assertions"
 | 
			
		||||
@@ -707,9 +780,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "syn"
 | 
			
		||||
version = "1.0.41"
 | 
			
		||||
version = "1.0.73"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6690e3e9f692504b941dc6c3b188fd28df054f7fb8469ab40680df52fdcc842b"
 | 
			
		||||
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
@@ -718,19 +791,19 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tap"
 | 
			
		||||
version = "1.0.0"
 | 
			
		||||
version = "1.0.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "36474e732d1affd3a6ed582781b3683df3d0563714c59c39591e8ff707cf078e"
 | 
			
		||||
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tempfile"
 | 
			
		||||
version = "3.1.0"
 | 
			
		||||
version = "3.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 | 
			
		||||
checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.8.4",
 | 
			
		||||
 "redox_syscall",
 | 
			
		||||
 "remove_dir_all",
 | 
			
		||||
 "winapi",
 | 
			
		||||
@@ -738,9 +811,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "terminal_size"
 | 
			
		||||
version = "0.1.13"
 | 
			
		||||
version = "0.1.17"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9a14cd9f8c72704232f0bfc8455c0e861f0ad4eb60cc9ec8a170e231414c1e13"
 | 
			
		||||
checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "winapi",
 | 
			
		||||
@@ -748,9 +821,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "termion"
 | 
			
		||||
version = "1.5.5"
 | 
			
		||||
version = "1.5.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c22cec9d8978d906be5ac94bceb5a010d885c626c4c8855721a4dbd20e3ac905"
 | 
			
		||||
checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "numtoa",
 | 
			
		||||
@@ -758,15 +831,6 @@ dependencies = [
 | 
			
		||||
 "redox_termios",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "termios"
 | 
			
		||||
version = "0.3.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6f0fcee7b24a25675de40d5bb4de6e41b0df07bc9856295e7e2b3a3600c400c2"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "textwrap"
 | 
			
		||||
version = "0.11.0"
 | 
			
		||||
@@ -803,7 +867,7 @@ dependencies = [
 | 
			
		||||
 "quick-xml",
 | 
			
		||||
 "quickcheck",
 | 
			
		||||
 "quickcheck_macros",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rand 0.8.4",
 | 
			
		||||
 "safemem",
 | 
			
		||||
 "tempfile",
 | 
			
		||||
 "termion",
 | 
			
		||||
@@ -814,33 +878,24 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "thiserror"
 | 
			
		||||
version = "1.0.20"
 | 
			
		||||
version = "1.0.25"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08"
 | 
			
		||||
checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "thiserror-impl",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "thiserror-impl"
 | 
			
		||||
version = "1.0.20"
 | 
			
		||||
version = "1.0.25"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793"
 | 
			
		||||
checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "thread_local"
 | 
			
		||||
version = "1.0.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "lazy_static",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "threadpool"
 | 
			
		||||
version = "1.8.1"
 | 
			
		||||
@@ -852,9 +907,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tui"
 | 
			
		||||
version = "0.10.0"
 | 
			
		||||
version = "0.14.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a977b0bb2e2033a6fef950f218f13622c3c34e59754b704ce3492dedab1dfe95"
 | 
			
		||||
checksum = "9ced152a8e9295a5b168adc254074525c17ac4a83c90b2716274cc38118bddc9"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "cassowary",
 | 
			
		||||
@@ -865,9 +920,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-segmentation"
 | 
			
		||||
version = "1.6.0"
 | 
			
		||||
version = "1.7.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
 | 
			
		||||
checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-width"
 | 
			
		||||
@@ -877,9 +932,9 @@ checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-xid"
 | 
			
		||||
version = "0.2.1"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
 | 
			
		||||
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "vec_map"
 | 
			
		||||
@@ -889,15 +944,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "version_check"
 | 
			
		||||
version = "0.9.2"
 | 
			
		||||
version = "0.9.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "void"
 | 
			
		||||
version = "1.0.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
 | 
			
		||||
checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wasi"
 | 
			
		||||
@@ -905,6 +954,12 @@ version = "0.9.0+wasi-snapshot-preview1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wasi"
 | 
			
		||||
version = "0.10.2+wasi-snapshot-preview1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi"
 | 
			
		||||
version = "0.3.9"
 | 
			
		||||
@@ -921,15 +976,6 @@ version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi-util"
 | 
			
		||||
version = "0.1.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi-x86_64-pc-windows-gnu"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								Cargo.toml
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								Cargo.toml
									
									
									
									
									
								
							@@ -8,30 +8,30 @@ license = "GPL3"
 | 
			
		||||
[dependencies]
 | 
			
		||||
atty = "0.2"
 | 
			
		||||
anyhow = "1.0"
 | 
			
		||||
base64 = "0.12"
 | 
			
		||||
byteorder = "1.3"
 | 
			
		||||
base64 = "0.13"
 | 
			
		||||
byteorder = "1.4"
 | 
			
		||||
clap = "2.33"
 | 
			
		||||
crc32c = "0.4"
 | 
			
		||||
crc32c = "0.6"
 | 
			
		||||
data-encoding = "2.3"
 | 
			
		||||
duct = "0.13"
 | 
			
		||||
fixedbitset = "0.3"
 | 
			
		||||
fixedbitset = "0.4"
 | 
			
		||||
futures = "0.3"
 | 
			
		||||
flate2 = "1.0"
 | 
			
		||||
io-uring = "0.3"
 | 
			
		||||
indicatif = "0.15"
 | 
			
		||||
libc = "0.2.71"
 | 
			
		||||
nix = "0.17"
 | 
			
		||||
nom = "6.0.0"
 | 
			
		||||
io-uring = "0.4"
 | 
			
		||||
indicatif = "0.16"
 | 
			
		||||
libc = "0.2"
 | 
			
		||||
nix = "0.21"
 | 
			
		||||
nom = "6.2"
 | 
			
		||||
num_cpus = "1.13"
 | 
			
		||||
num-derive = "0.3"
 | 
			
		||||
num-traits = "0.2"
 | 
			
		||||
quick-xml = "0.18"
 | 
			
		||||
rand = "0.7"
 | 
			
		||||
safemem = "0.3.3"
 | 
			
		||||
tempfile = "3.1"
 | 
			
		||||
quick-xml = "0.22"
 | 
			
		||||
rand = "0.8"
 | 
			
		||||
safemem = "0.3"
 | 
			
		||||
tempfile = "3.2"
 | 
			
		||||
threadpool = "1.8"
 | 
			
		||||
thiserror = "1.0"
 | 
			
		||||
tui = "0.10"
 | 
			
		||||
tui = "0.14"
 | 
			
		||||
termion = "1.5"
 | 
			
		||||
 | 
			
		||||
[dev-dependencies]
 | 
			
		||||
 
 | 
			
		||||
@@ -236,7 +236,8 @@ INSTALL_DATA = $(INSTALL) -p -m 644
 | 
			
		||||
%.8: %.txt bin/txt2man
 | 
			
		||||
	@echo "    [txt2man] $<"
 | 
			
		||||
	@mkdir -p $(dir $@)
 | 
			
		||||
	$(V) bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
 | 
			
		||||
	$(V) bin/txt2man -t $(basename $(notdir $<)) \
 | 
			
		||||
	-s 8 -v "System Manager's Manual" -r "Device Mapper Tools" $< > $@
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
@@ -271,6 +272,7 @@ clean:
 | 
			
		||||
	find . -name \*.gmo -delete
 | 
			
		||||
	find . -name \*.d -delete
 | 
			
		||||
	$(RM) $(PROGRAMS) $(DEV_TOOLS) lib/*.a lib/*.so
 | 
			
		||||
	$(RM) man8/*.8
 | 
			
		||||
 | 
			
		||||
distclean: clean
 | 
			
		||||
	$(RM) config.cache config.log config.status configure.h version.h Makefile unit-tests/Makefile
 | 
			
		||||
@@ -348,10 +350,12 @@ rust-tools:
 | 
			
		||||
	cargo build --release
 | 
			
		||||
 | 
			
		||||
install-rust-tools: man8/thin_metadata_pack.8 man8/thin_metadata_unpack.8 rust-tools
 | 
			
		||||
	$(INSTALL_DIR) $(BINDIR)
 | 
			
		||||
	$(INSTALL_PROGRAM) target/release/thin_metadata_pack  $(BINDIR)
 | 
			
		||||
	$(INSTALL_PROGRAM) target/release/thin_metadata_unpack  $(BINDIR)
 | 
			
		||||
	$(STRIP) $(BINDIR)/thin_metadata_pack
 | 
			
		||||
	$(STRIP) $(BINDIR)/thin_metadata_unpack
 | 
			
		||||
	$(INSTALL_DIR) $(MANPATH)/man8
 | 
			
		||||
	$(INSTALL_DATA) man8/thin_metadata_pack.8 $(MANPATH)/man8
 | 
			
		||||
	$(INSTALL_DATA) man8/thin_metadata_unpack.8 $(MANPATH)/man8
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1301
									
								
								autoconf/config.guess
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1301
									
								
								autoconf/config.guess
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2899
									
								
								autoconf/config.sub
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2899
									
								
								autoconf/config.sub
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										168
									
								
								bin/txt2man
									
									
									
									
									
								
							
							
						
						
									
										168
									
								
								bin/txt2man
									
									
									
									
									
								
							@@ -1,5 +1,4 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
test "$HOME" = ~ || exec ksh $0 "$@"    # try ksh if sh too old (not yet POSIX)
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2001, 2002, 2003 Marc Vertes
 | 
			
		||||
 | 
			
		||||
@@ -18,7 +17,7 @@ test "$HOME" = ~ || exec ksh $0 "$@"    # try ksh if sh too old (not yet POSIX)
 | 
			
		||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 | 
			
		||||
# 02111-1307, USA.
 | 
			
		||||
 | 
			
		||||
# txt2man-1.5
 | 
			
		||||
# release 1.7.1
 | 
			
		||||
 | 
			
		||||
usage()
 | 
			
		||||
{
 | 
			
		||||
@@ -27,7 +26,7 @@ NAME
 | 
			
		||||
  txt2man - convert flat ASCII text to man page format
 | 
			
		||||
SYNOPSIS
 | 
			
		||||
  txt2man [-hpTX] [-t mytitle] [-P pname] [-r rel] [-s sect]
 | 
			
		||||
          [-v vol] [-I txt] [-B txt] [ifile]
 | 
			
		||||
          [-v vol] [-I txt] [-B txt] [-d date] [ifile]
 | 
			
		||||
DESCRIPTION
 | 
			
		||||
  txt2man converts the input text into nroff/troff standard man(7)
 | 
			
		||||
  macros used to format Unix manual pages. Nice pages can be generated
 | 
			
		||||
@@ -45,26 +44,32 @@ DESCRIPTION
 | 
			
		||||
  Here is how text patterns are recognized and processed:
 | 
			
		||||
  Sections    These headers are defined by a line in upper case, starting
 | 
			
		||||
              column 1. If there is one or more leading spaces, a
 | 
			
		||||
	      sub-section will be generated instead.
 | 
			
		||||
              sub-section will be generated instead. Optionally, the
 | 
			
		||||
              Section name can be preceded by a blank line. This is useful
 | 
			
		||||
              for a better visualization of the source text to be used to
 | 
			
		||||
              generate the manpage.
 | 
			
		||||
  Paragraphs  They must be separated by a blank line, and left aligned.
 | 
			
		||||
              Alternatively two blank spaces can be used to produce the
 | 
			
		||||
              same result. This option will provide a better visualization
 | 
			
		||||
              of the source text to be used to generate the manpage.
 | 
			
		||||
  Tag list    The item definition is separated from the item description
 | 
			
		||||
              by at least 2 blank spaces, even before a new line, if
 | 
			
		||||
              definition is too long. Definition will be emphasized
 | 
			
		||||
              by default.
 | 
			
		||||
  Bullet list  
 | 
			
		||||
              Bullet list items are defined by the first word being "-"
 | 
			
		||||
	      or "*" or "o".
 | 
			
		||||
              or "*" or "o".
 | 
			
		||||
  Enumerated list  
 | 
			
		||||
	      The first word must be a number followed by a dot.
 | 
			
		||||
              The first word must be a number followed by a dot.
 | 
			
		||||
  Literal display blocks  
 | 
			
		||||
	      This paragraph type is used to display unmodified text,
 | 
			
		||||
	      for example source code. It must be separated by a blank
 | 
			
		||||
	      line, and be indented. It is primarily used to format
 | 
			
		||||
	      unmodified source code. It will be printed using fixed font
 | 
			
		||||
	      whenever possible (troff).
 | 
			
		||||
              This paragraph type is used to display unmodified text,
 | 
			
		||||
              for example source code. It must be separated by a blank
 | 
			
		||||
              line and be indented by a TAB. It is primarily used to format
 | 
			
		||||
              unmodified source code. It will be printed using fixed font
 | 
			
		||||
              whenever possible (troff).
 | 
			
		||||
  Cross references  
 | 
			
		||||
	      A cross reference (another man page) is defined by a word
 | 
			
		||||
	      followed by a number in parenthesis.
 | 
			
		||||
              A cross reference (another man page) is defined by a word
 | 
			
		||||
              followed by a number in parenthesis.
 | 
			
		||||
 | 
			
		||||
  Special sections:
 | 
			
		||||
  NAME      The function or command name and short description are set in
 | 
			
		||||
@@ -72,37 +77,45 @@ DESCRIPTION
 | 
			
		||||
  SYNOPSIS  This section receives a special treatment to identify command
 | 
			
		||||
            name, flags and arguments, and propagate corresponding
 | 
			
		||||
            attributes later in the text. If a C like function is recognized
 | 
			
		||||
	    (word immediately followed by an open parenthesis), txt2man will
 | 
			
		||||
	    print function name in bold font, types in normal font, and
 | 
			
		||||
	    variables in italic font. The whole section will be printed using
 | 
			
		||||
	    a fixed font family (courier) whenever possible (troff).
 | 
			
		||||
            (word immediately followed by an open parenthesis), txt2man will
 | 
			
		||||
            print function name in bold font, types in normal font, and
 | 
			
		||||
            variables in italic font. The whole section will be printed using
 | 
			
		||||
            a fixed font family (courier) whenever possible (troff).
 | 
			
		||||
 | 
			
		||||
  It is a good practice to embed documentation into source code, by using
 | 
			
		||||
  comments or constant text variables. txt2man allows to do that, keeping
 | 
			
		||||
  comments or constant text variables. txt2man allows one to do that, keeping
 | 
			
		||||
  the document source readable, usable even without further formatting
 | 
			
		||||
  (i.e. for online help) and easy to write. The result is high quality
 | 
			
		||||
  and standard complying document.
 | 
			
		||||
OPTIONS
 | 
			
		||||
  -h          The option -h displays help.
 | 
			
		||||
  -d date     Set date in header. Defaults to current date.
 | 
			
		||||
  -P pname    Set pname as project name in header. Default to uname -s.
 | 
			
		||||
  -p          Probe title, section name and volume.
 | 
			
		||||
  -t mytitle  Set mytitle as title of generated man page.
 | 
			
		||||
  -r rel      Set rel as project name and release.
 | 
			
		||||
  -s sect     Set sect as section in heading, ususally a value from 1 to 8.
 | 
			
		||||
  -s sect     Set sect as section in heading, usually a value from 1 to 8.
 | 
			
		||||
  -v vol      Set vol as volume name, i.e. "Unix user 's manual".
 | 
			
		||||
  -I txt      Italicize txt in output. Can be specified more than once.
 | 
			
		||||
  -B txt      Emphasize (bold) txt in output. Can be specified more than once.
 | 
			
		||||
  -T          Text result previewing using PAGER, usually more(1).
 | 
			
		||||
  -X          X11 result previewing using gxditview(1).
 | 
			
		||||
ENVIRONMENT
 | 
			
		||||
  PAGER    name of paging command, usually more(1), or less(1). If not set
 | 
			
		||||
           falls back to more(1).
 | 
			
		||||
EXAMPLE
 | 
			
		||||
  PAGER              name of paging command, usually more(1), or less(1). If not set
 | 
			
		||||
                     falls back to more(1).
 | 
			
		||||
  SOURCE_DATE_EPOCH  Unix timestamp that is used for date in header instead
 | 
			
		||||
                     of current date.
 | 
			
		||||
EXAMPLES
 | 
			
		||||
  Try this command to format this text itself:
 | 
			
		||||
 | 
			
		||||
      $ txt2man -h 2>&1 | txt2man -T
 | 
			
		||||
    $ txt2man -h 2>&1 | txt2man -T
 | 
			
		||||
 | 
			
		||||
  The following command will generate a manpage level 1 to foo-1.1.0 program,
 | 
			
		||||
  from foo.txt file, used as source code to previously mentioned manpage:
 | 
			
		||||
 | 
			
		||||
    $ txt2man -d "15 May 2016" -t foo -r foo-1.1.0 -s 1 -v "show stars on screen" foo.txt > foo.1
 | 
			
		||||
HINTS
 | 
			
		||||
  To obtain an overall good formating of output document, keep paragraphs
 | 
			
		||||
  To obtain an overall good formatting of output document, keep paragraphs
 | 
			
		||||
  indented correctly. If you have unwanted bold sections, search for
 | 
			
		||||
  multiple spaces between words, which are used to identify a tag list
 | 
			
		||||
  (term followed by a description). Choose also carefully the name of
 | 
			
		||||
@@ -127,35 +140,53 @@ doprobe=
 | 
			
		||||
itxt=
 | 
			
		||||
btxt=
 | 
			
		||||
post=cat
 | 
			
		||||
while getopts :hpTXr:s:t:v:P:I:B: opt
 | 
			
		||||
while getopts :d:hpTXr:s:t:v:P:I:B: opt
 | 
			
		||||
do
 | 
			
		||||
	case $opt in
 | 
			
		||||
	r) rel=$OPTARG;;
 | 
			
		||||
	t) title=$OPTARG;;
 | 
			
		||||
	s) section=$OPTARG;;
 | 
			
		||||
	v) volume=$OPTARG;;
 | 
			
		||||
	P) sys=$OPTARG;;
 | 
			
		||||
	p) doprobe=1;;
 | 
			
		||||
	I) itxt="$OPTARG<52>$itxt";;
 | 
			
		||||
	B) btxt=$OPTARG;;
 | 
			
		||||
	T) post="groff -mandoc -Tlatin1 | ${PAGER:-more}";;
 | 
			
		||||
	X) post="groff -mandoc -X";;
 | 
			
		||||
	*) usage; exit;;
 | 
			
		||||
	(d) date=$OPTARG;;
 | 
			
		||||
	(r) rel=$OPTARG;;
 | 
			
		||||
	(t) title=$OPTARG;;
 | 
			
		||||
	(s) section=$OPTARG;;
 | 
			
		||||
	(v) volume=$OPTARG;;
 | 
			
		||||
	(P) sys=$OPTARG;;
 | 
			
		||||
	(p) doprobe=1;;
 | 
			
		||||
	(I) itxt="$OPTARG§$itxt";;
 | 
			
		||||
	(B) btxt="$OPTARG§$btxt";;
 | 
			
		||||
	(T) post="groff -mandoc -Tlatin1 | ${PAGER:-more}";;
 | 
			
		||||
	(X) post="groff -mandoc -TX100-12 -rS12";;
 | 
			
		||||
	(*) usage; exit;;
 | 
			
		||||
	esac
 | 
			
		||||
done
 | 
			
		||||
shift $(($OPTIND - 1))
 | 
			
		||||
 | 
			
		||||
# Compatibility wrapper for BSD/GNU date, for parsing dates
 | 
			
		||||
if date -j >/dev/null 2>&1; then
 | 
			
		||||
  pdate() { date -u -j -f '@%s' "$@"; }
 | 
			
		||||
else
 | 
			
		||||
  pdate() { date -u -d "$@"; }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -n "$SOURCE_DATE_EPOCH" ]; then
 | 
			
		||||
  date=$(LC_ALL=C pdate "@$SOURCE_DATE_EPOCH" +'%d %B %Y')
 | 
			
		||||
fi
 | 
			
		||||
date=${date:-$(LC_ALL=C date -u +'%d %B %Y')}
 | 
			
		||||
 | 
			
		||||
if test "$doprobe"
 | 
			
		||||
then
 | 
			
		||||
	title=${1##*/}; title=${title%.txt}
 | 
			
		||||
	section="8"
 | 
			
		||||
	volume="System Manager's Manual"
 | 
			
		||||
	if grep -q '#include ' $1
 | 
			
		||||
	then
 | 
			
		||||
		section=${section:-3}
 | 
			
		||||
		volume=${volume:-"$sys Programmer's Manual"}
 | 
			
		||||
	else
 | 
			
		||||
		section=${section:-1}
 | 
			
		||||
		volume=${volume:-"$sys Reference Manual"}
 | 
			
		||||
	fi
 | 
			
		||||
	# get release from path
 | 
			
		||||
	#rel=$(pwd | sed 's:/.*[^0-9]/::g; s:/.*::g')
 | 
			
		||||
	rel="Device Mapper Tools"
 | 
			
		||||
	rel=${rel:-"$(pwd | sed 's:/.*[^0-9]/::g; s:/.*::g')"}
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
head=".\\\" Text automatically generated by txt2man
 | 
			
		||||
head="\" Text automatically generated by txt2man
 | 
			
		||||
.TH $title $section \"$rel\" \"$volume\""
 | 
			
		||||
 | 
			
		||||
# All tabs converted to spaces
 | 
			
		||||
@@ -163,11 +194,11 @@ expand $* |
 | 
			
		||||
# gawk is needed because use of non standard regexp
 | 
			
		||||
gawk --re-interval -v head="$head" -v itxt="$itxt" -v btxt="$btxt" '
 | 
			
		||||
BEGIN {
 | 
			
		||||
	print head
 | 
			
		||||
	print ".\\" head
 | 
			
		||||
	avar[1] = btxt; avar[2] = itxt
 | 
			
		||||
	for (k in avar) {
 | 
			
		||||
		mark = (k == 1) ? "\\fB" : "\\fI"
 | 
			
		||||
		split(avar[k], tt, "<EFBFBD>")
 | 
			
		||||
		split(avar[k], tt, "§")
 | 
			
		||||
		for (i in tt)
 | 
			
		||||
			if (tt[i] != "")
 | 
			
		||||
				subwords["\\<" tt[i] "\\>"] = mark tt[i] "\\fP"
 | 
			
		||||
@@ -179,11 +210,11 @@ BEGIN {
 | 
			
		||||
}
 | 
			
		||||
{
 | 
			
		||||
	# to avoid some side effects in regexp
 | 
			
		||||
	sub(/\.\.\./, "\\.\\.\\.")
 | 
			
		||||
	gsub(/\.\.\./, "\\.\\.\\.")
 | 
			
		||||
	# remove spaces in empty lines
 | 
			
		||||
	sub(/^ +$/,"")
 | 
			
		||||
}
 | 
			
		||||
/^[[:upper:][:space:]]+$/ {
 | 
			
		||||
/^[:space:]*[[:upper:][:digit:]]+[[:upper:][:space:][:digit:][:punct:]]+$/ {
 | 
			
		||||
	# Section header
 | 
			
		||||
	if ((in_bd + 0) == 1) {
 | 
			
		||||
		in_bd = 0
 | 
			
		||||
@@ -199,8 +230,10 @@ BEGIN {
 | 
			
		||||
		print ".SS" $0
 | 
			
		||||
	sub(/^ +/, "")
 | 
			
		||||
	section = $0
 | 
			
		||||
	if (section == "SYNOPSIS")
 | 
			
		||||
	if (section == "SYNOPSIS") {
 | 
			
		||||
		print ".nf\n.fam C"
 | 
			
		||||
		in_bd = 1
 | 
			
		||||
	}
 | 
			
		||||
	ls = 0		# line start index
 | 
			
		||||
	pls = 0		# previous line start index
 | 
			
		||||
	pnzls = 0	# previous non zero line start index
 | 
			
		||||
@@ -216,7 +249,7 @@ BEGIN {
 | 
			
		||||
		pnzls = ls
 | 
			
		||||
	match($0, /[^ ]/)
 | 
			
		||||
	ls = RSTART
 | 
			
		||||
	if (pls == 0 && pnzls > 0 && ls > pnzls && $1 !~ /^[0-9\-\*\o]\.*$/) {
 | 
			
		||||
	if (in_bd == 0 && pls == 0 && pnzls > 0 && ls > pnzls && $1 !~ /^[\-\*o]$|^[0-9]+\.$/) {
 | 
			
		||||
		# example display block
 | 
			
		||||
		if (prevblankline == 1) {
 | 
			
		||||
			print ".PP"
 | 
			
		||||
@@ -230,8 +263,10 @@ BEGIN {
 | 
			
		||||
		ind[0] = ls
 | 
			
		||||
}
 | 
			
		||||
(in_bd + 0) == 1 {
 | 
			
		||||
	# In example display block
 | 
			
		||||
	if (ls != 0 && ls < eoff) {
 | 
			
		||||
	# In block display
 | 
			
		||||
	if (section == "SYNOPSIS")
 | 
			
		||||
		;
 | 
			
		||||
	else if (ls != 0 && ls < eoff) {
 | 
			
		||||
		# End of litteral display block
 | 
			
		||||
		in_bd = 0
 | 
			
		||||
		print ".fam T\n.fi"
 | 
			
		||||
@@ -244,11 +279,12 @@ section == "NAME" {
 | 
			
		||||
section == "SYNOPSIS" {
 | 
			
		||||
	# Identify arguments of fcts and cmds
 | 
			
		||||
	if (type["SYNOPSIS"] == "") {
 | 
			
		||||
		if (index($0, "(") == 0 && index($0, ")") == 0 &&
 | 
			
		||||
		    index($0, "#include") == 0)
 | 
			
		||||
			type["SYNOPSIS"] = "cmd"
 | 
			
		||||
		else
 | 
			
		||||
		if ($0 ~ /\(/)
 | 
			
		||||
			type["SYNOPSIS"] = "fct"
 | 
			
		||||
		else if ($1 == "struct" || $2 == "struct")
 | 
			
		||||
			type["SYNOPSIS"] = "struct"
 | 
			
		||||
		else if ($1 && $1 !~ /^#|typedef|struct|union|enum/)
 | 
			
		||||
			type["SYNOPSIS"] = "cmd"
 | 
			
		||||
	}
 | 
			
		||||
	if (type["SYNOPSIS"] == "cmd") {
 | 
			
		||||
		# Line is a command line
 | 
			
		||||
@@ -263,19 +299,19 @@ section == "SYNOPSIS" {
 | 
			
		||||
			if (a ~ /^[^\-]/)
 | 
			
		||||
				subwords["\\<" a "\\>"] = "\\fI" a "\\fP"
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
	} else if (type["SYNOPSIS"] == "fct") {
 | 
			
		||||
		# Line is a C function definition
 | 
			
		||||
		if ($1 == "typedef")
 | 
			
		||||
			subwords["\\<" $2 "\\>"] = "\\fI" $2 "\\fP"
 | 
			
		||||
		else if ($1 == "#define")
 | 
			
		||||
		if ($1 == "typedef") {
 | 
			
		||||
			if ($0 !~ /\(\*/)
 | 
			
		||||
				subwords["\\<" $2 "\\>"] = "\\fI" $2 "\\fP"
 | 
			
		||||
		} else if ($1 == "#define")
 | 
			
		||||
			subwords["\\<" $2 "\\>"] = "\\fI" $2 "\\fP"
 | 
			
		||||
		for (i = 1; i <= NF; i++) {
 | 
			
		||||
			if ($i ~ /[\,\)]/) {
 | 
			
		||||
			if ($i ~ /[,\)];*$/) {
 | 
			
		||||
				a = $i
 | 
			
		||||
				sub(/.*\(/, "", a)
 | 
			
		||||
				gsub(/\W/, "", a)
 | 
			
		||||
				if (a !~ /^void$/)
 | 
			
		||||
					subwords["\\<" a "\\>"] = "\\fI" a "\\fP"
 | 
			
		||||
				subwords["\\<" a "\\>"] = "\\fI" a "\\fP"
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -298,13 +334,19 @@ section == "SYNOPSIS" {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	# word attributes
 | 
			
		||||
	for (i in subwords)
 | 
			
		||||
		gsub(i, subwords[i])
 | 
			
		||||
	n = asorti(subwords, indices)
 | 
			
		||||
	for (i = 1; i <= n; i++)
 | 
			
		||||
		gsub(indices[i], subwords[indices[i]])
 | 
			
		||||
	# shell options
 | 
			
		||||
	gsub(/\B\-+\w+(\-\w+)*/, "\\fB&\\fP")
 | 
			
		||||
	# unprotect dots inside words
 | 
			
		||||
	gsub(/_dOt_/, ".")
 | 
			
		||||
 | 
			
		||||
	if (section == "SYNOPSIS") {
 | 
			
		||||
		sub(/^  /, "")
 | 
			
		||||
		print
 | 
			
		||||
		next
 | 
			
		||||
	}
 | 
			
		||||
	if (match($0, /[^ ]  +/) > 0) {
 | 
			
		||||
		# tag list item
 | 
			
		||||
		adjust_indent()
 | 
			
		||||
@@ -347,6 +389,8 @@ section == "SYNOPSIS" {
 | 
			
		||||
	}
 | 
			
		||||
	if (section != "SYNOPSIS" || $0 ~ /^ {1,4}/)
 | 
			
		||||
		sub(/ */,"")
 | 
			
		||||
	# Protect lines starting by simple quotes
 | 
			
		||||
	sub(/^'\''/, "\\(cq")
 | 
			
		||||
	print
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -159,16 +159,16 @@ impl<'a> StatefulWidget for SBWidget<'a> {
 | 
			
		||||
            .split(area);
 | 
			
		||||
 | 
			
		||||
        let sb = self.sb;
 | 
			
		||||
        let flags = ["flags".to_string(), format!("{}", sb.flags)];
 | 
			
		||||
        let block = ["block".to_string(), format!("{}", sb.block)];
 | 
			
		||||
        let uuid = ["uuid".to_string(), "-".to_string()];
 | 
			
		||||
        let version = ["version".to_string(), format!("{}", sb.version)];
 | 
			
		||||
        let time = ["time".to_string(), format!("{}", sb.time)];
 | 
			
		||||
        let transaction_id = [
 | 
			
		||||
        let flags = vec!["flags".to_string(), format!("{}", sb.flags)];
 | 
			
		||||
        let block = vec!["block".to_string(), format!("{}", sb.block)];
 | 
			
		||||
        let uuid = vec!["uuid".to_string(), "-".to_string()];
 | 
			
		||||
        let version = vec!["version".to_string(), format!("{}", sb.version)];
 | 
			
		||||
        let time = vec!["time".to_string(), format!("{}", sb.time)];
 | 
			
		||||
        let transaction_id = vec![
 | 
			
		||||
            "transaction_id".to_string(),
 | 
			
		||||
            format!("{}", sb.transaction_id),
 | 
			
		||||
        ];
 | 
			
		||||
        let metadata_snap = [
 | 
			
		||||
        let metadata_snap = vec![
 | 
			
		||||
            "metadata_snap".to_string(),
 | 
			
		||||
            if sb.metadata_snap == 0 {
 | 
			
		||||
                "-".to_string()
 | 
			
		||||
@@ -176,35 +176,36 @@ impl<'a> StatefulWidget for SBWidget<'a> {
 | 
			
		||||
                format!("{}", sb.metadata_snap)
 | 
			
		||||
            },
 | 
			
		||||
        ];
 | 
			
		||||
        let mapping_root = ["mapping root".to_string(), format!("{}", sb.mapping_root)];
 | 
			
		||||
        let details_root = ["details root".to_string(), format!("{}", sb.details_root)];
 | 
			
		||||
        let data_block_size = [
 | 
			
		||||
        let mapping_root = vec!["mapping root".to_string(), format!("{}", sb.mapping_root)];
 | 
			
		||||
        let details_root = vec!["details root".to_string(), format!("{}", sb.details_root)];
 | 
			
		||||
        let data_block_size = vec![
 | 
			
		||||
            "data block size".to_string(),
 | 
			
		||||
            format!("{}k", sb.data_block_size * 2),
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        let table = Table::new(
 | 
			
		||||
            ["Field", "Value"].iter(),
 | 
			
		||||
            vec![
 | 
			
		||||
                Row::Data(flags.iter()),
 | 
			
		||||
                Row::Data(block.iter()),
 | 
			
		||||
                Row::Data(uuid.iter()),
 | 
			
		||||
                Row::Data(version.iter()),
 | 
			
		||||
                Row::Data(time.iter()),
 | 
			
		||||
                Row::Data(transaction_id.iter()),
 | 
			
		||||
                Row::Data(metadata_snap.iter()),
 | 
			
		||||
                Row::Data(mapping_root.iter()),
 | 
			
		||||
                Row::Data(details_root.iter()),
 | 
			
		||||
                Row::Data(data_block_size.iter()),
 | 
			
		||||
                Row::new(flags),
 | 
			
		||||
                Row::new(block),
 | 
			
		||||
                Row::new(uuid),
 | 
			
		||||
                Row::new(version),
 | 
			
		||||
                Row::new(time),
 | 
			
		||||
                Row::new(transaction_id),
 | 
			
		||||
                Row::new(metadata_snap),
 | 
			
		||||
                Row::new(mapping_root),
 | 
			
		||||
                Row::new(details_root),
 | 
			
		||||
                Row::new(data_block_size),
 | 
			
		||||
            ]
 | 
			
		||||
            .into_iter(),
 | 
			
		||||
        )
 | 
			
		||||
        .header(
 | 
			
		||||
            Row::new(vec!["Field", "Value"])
 | 
			
		||||
                .style(Style::default().fg(Color::Yellow))
 | 
			
		||||
        )
 | 
			
		||||
        .block(
 | 
			
		||||
            Block::default()
 | 
			
		||||
                .borders(Borders::ALL)
 | 
			
		||||
                .title("Superblock".to_string()),
 | 
			
		||||
        )
 | 
			
		||||
        .header_style(Style::default().fg(Color::Yellow))
 | 
			
		||||
        .widths(&[Constraint::Length(20), Constraint::Length(60)])
 | 
			
		||||
        .style(Style::default().fg(Color::White))
 | 
			
		||||
        .column_spacing(1);
 | 
			
		||||
@@ -238,31 +239,32 @@ struct HeaderWidget<'a> {
 | 
			
		||||
impl<'a> Widget for HeaderWidget<'a> {
 | 
			
		||||
    fn render(self, area: Rect, buf: &mut Buffer) {
 | 
			
		||||
        let hdr = &self.hdr;
 | 
			
		||||
        let block = ["block".to_string(), format!("{}", hdr.block)];
 | 
			
		||||
        let kind = [
 | 
			
		||||
        let block = vec!["block".to_string(), format!("{}", hdr.block)];
 | 
			
		||||
        let kind = vec![
 | 
			
		||||
            "type".to_string(),
 | 
			
		||||
            match hdr.is_leaf {
 | 
			
		||||
                true => "LEAF".to_string(),
 | 
			
		||||
                false => "INTERNAL".to_string(),
 | 
			
		||||
            },
 | 
			
		||||
        ];
 | 
			
		||||
        let nr_entries = ["nr_entries".to_string(), format!("{}", hdr.nr_entries)];
 | 
			
		||||
        let max_entries = ["max_entries".to_string(), format!("{}", hdr.max_entries)];
 | 
			
		||||
        let value_size = ["value size".to_string(), format!("{}", hdr.value_size)];
 | 
			
		||||
        let nr_entries = vec!["nr_entries".to_string(), format!("{}", hdr.nr_entries)];
 | 
			
		||||
        let max_entries = vec!["max_entries".to_string(), format!("{}", hdr.max_entries)];
 | 
			
		||||
        let value_size = vec!["value size".to_string(), format!("{}", hdr.value_size)];
 | 
			
		||||
 | 
			
		||||
        let table = Table::new(
 | 
			
		||||
            ["Field", "Value"].iter(),
 | 
			
		||||
            vec![
 | 
			
		||||
                Row::Data(block.iter()),
 | 
			
		||||
                Row::Data(kind.iter()),
 | 
			
		||||
                Row::Data(nr_entries.iter()),
 | 
			
		||||
                Row::Data(max_entries.iter()),
 | 
			
		||||
                Row::Data(value_size.iter()),
 | 
			
		||||
                Row::new(block),
 | 
			
		||||
                Row::new(kind),
 | 
			
		||||
                Row::new(nr_entries),
 | 
			
		||||
                Row::new(max_entries),
 | 
			
		||||
                Row::new(value_size),
 | 
			
		||||
            ]
 | 
			
		||||
            .into_iter(),
 | 
			
		||||
        )
 | 
			
		||||
        .header(
 | 
			
		||||
            Row::new(vec!["Field", "Value"])
 | 
			
		||||
                .style(Style::default().fg(Color::Yellow))
 | 
			
		||||
        )
 | 
			
		||||
        .block(Block::default().borders(Borders::ALL).title(self.title))
 | 
			
		||||
        .header_style(Style::default().fg(Color::Yellow))
 | 
			
		||||
        .widths(&[Constraint::Length(20), Constraint::Length(60)])
 | 
			
		||||
        .style(Style::default().fg(Color::White))
 | 
			
		||||
        .column_spacing(1);
 | 
			
		||||
 
 | 
			
		||||
@@ -255,10 +255,11 @@ impl AsyncIoEngine {
 | 
			
		||||
 | 
			
		||||
        let mut inner = self.inner.lock().unwrap();
 | 
			
		||||
        let count = blocks.len();
 | 
			
		||||
        let fd = types::Target::Fd(inner.input.as_raw_fd());
 | 
			
		||||
        let fd_inner = inner.input.as_raw_fd();
 | 
			
		||||
 | 
			
		||||
        for (i, b) in blocks.iter().enumerate() {
 | 
			
		||||
            let read_e = opcode::Read::new(fd, b.data, BLOCK_SIZE as u32)
 | 
			
		||||
            let read_e = opcode::Read::new(
 | 
			
		||||
                    types::Fd(fd_inner), b.data, BLOCK_SIZE as u32)
 | 
			
		||||
                .offset(b.loc as i64 * BLOCK_SIZE as i64);
 | 
			
		||||
 | 
			
		||||
            unsafe {
 | 
			
		||||
@@ -306,10 +307,11 @@ impl AsyncIoEngine {
 | 
			
		||||
 | 
			
		||||
        let mut inner = self.inner.lock().unwrap();
 | 
			
		||||
        let count = blocks.len();
 | 
			
		||||
        let fd = types::Target::Fd(inner.input.as_raw_fd());
 | 
			
		||||
        let fd_inner = inner.input.as_raw_fd();
 | 
			
		||||
 | 
			
		||||
        for (i, b) in blocks.iter().enumerate() {
 | 
			
		||||
            let write_e = opcode::Write::new(fd, b.data, BLOCK_SIZE as u32)
 | 
			
		||||
            let write_e = opcode::Write::new(
 | 
			
		||||
                    types::Fd(fd_inner), b.data, BLOCK_SIZE as u32)
 | 
			
		||||
                .offset(b.loc as i64 * BLOCK_SIZE as i64);
 | 
			
		||||
 | 
			
		||||
            unsafe {
 | 
			
		||||
@@ -372,7 +374,7 @@ impl IoEngine for AsyncIoEngine {
 | 
			
		||||
 | 
			
		||||
    fn read(&self, b: u64) -> Result<Block> {
 | 
			
		||||
        let mut inner = self.inner.lock().unwrap();
 | 
			
		||||
        let fd = types::Target::Fd(inner.input.as_raw_fd());
 | 
			
		||||
        let fd = types::Fd(inner.input.as_raw_fd());
 | 
			
		||||
        let b = Block::new(b);
 | 
			
		||||
        let read_e = opcode::Read::new(fd, b.data, BLOCK_SIZE as u32)
 | 
			
		||||
            .offset(b.loc as i64 * BLOCK_SIZE as i64);
 | 
			
		||||
@@ -421,7 +423,7 @@ impl IoEngine for AsyncIoEngine {
 | 
			
		||||
 | 
			
		||||
    fn write(&self, b: &Block) -> Result<()> {
 | 
			
		||||
        let mut inner = self.inner.lock().unwrap();
 | 
			
		||||
        let fd = types::Target::Fd(inner.input.as_raw_fd());
 | 
			
		||||
        let fd = types::Fd(inner.input.as_raw_fd());
 | 
			
		||||
        let write_e = opcode::Write::new(fd, b.data, BLOCK_SIZE as u32)
 | 
			
		||||
            .offset(b.loc as i64 * BLOCK_SIZE as i64);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ pub struct TestDir {
 | 
			
		||||
fn mk_dir(prefix: &str) -> Result<PathBuf> {
 | 
			
		||||
    for _n in 0..100 {
 | 
			
		||||
        let mut p = PathBuf::new();
 | 
			
		||||
        let nr = rand::thread_rng().gen_range(1000000, 9999999);
 | 
			
		||||
        let nr = rand::thread_rng().gen_range(1000000..9999999);
 | 
			
		||||
        p.push(format!("./{}_{}", prefix, nr));
 | 
			
		||||
        if let Ok(()) = fs::create_dir(&p) {
 | 
			
		||||
            return Ok(p);
 | 
			
		||||
 
 | 
			
		||||
@@ -133,7 +133,7 @@ fn mk_runs(thin_id: u32, total_len: u64, run_len: std::ops::Range<u64>) -> Vec<T
 | 
			
		||||
    while b < total_len {
 | 
			
		||||
        let len = u64::min(
 | 
			
		||||
            total_len - b,
 | 
			
		||||
            thread_rng().gen_range(run_len.start, run_len.end),
 | 
			
		||||
            thread_rng().gen_range(run_len.start..run_len.end),
 | 
			
		||||
        );
 | 
			
		||||
        runs.push(ThinRun {
 | 
			
		||||
            thin_id,
 | 
			
		||||
@@ -230,7 +230,7 @@ impl Allocator {
 | 
			
		||||
        while b < total_len {
 | 
			
		||||
            let len = u64::min(
 | 
			
		||||
                total_len - b,
 | 
			
		||||
                thread_rng().gen_range(run_len.start, run_len.end),
 | 
			
		||||
                thread_rng().gen_range(run_len.start..run_len.end),
 | 
			
		||||
            );
 | 
			
		||||
            runs.push(b..(b + len));
 | 
			
		||||
            b += len;
 | 
			
		||||
@@ -375,8 +375,8 @@ fn mk_origin(thin_id: u32, total_len: u64, allocator: &mut Allocator) -> Result<
 | 
			
		||||
    let mut runs = Vec::new();
 | 
			
		||||
    let mut b = 0;
 | 
			
		||||
    while b < total_len {
 | 
			
		||||
        let len = u64::min(thread_rng().gen_range(16, 64), total_len - b);
 | 
			
		||||
        match thread_rng().gen_range(0, 2) {
 | 
			
		||||
        let len = u64::min(thread_rng().gen_range(16..64), total_len - b);
 | 
			
		||||
        match thread_rng().gen_range(0..2) {
 | 
			
		||||
            0 => {
 | 
			
		||||
                for data in allocator.alloc(len)? {
 | 
			
		||||
                    assert!(data.end >= data.start);
 | 
			
		||||
@@ -416,10 +416,10 @@ fn mk_snap_mapping(
 | 
			
		||||
    while b < total_len {
 | 
			
		||||
        let len = u64::min(
 | 
			
		||||
            total_len - b,
 | 
			
		||||
            thread_rng().gen_range(run_len.start, run_len.end),
 | 
			
		||||
            thread_rng().gen_range(run_len.start..run_len.end),
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        let n = thread_rng().gen_range(0, 100);
 | 
			
		||||
        let n = thread_rng().gen_range(0..100);
 | 
			
		||||
 | 
			
		||||
        if n < same_percent {
 | 
			
		||||
            runs.push(SnapRun(SnapRunType::Same, len));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user