|
200 | 200 | <span id="195">195</span>
|
201 | 201 | <span id="196">196</span>
|
202 | 202 | <span id="197">197</span>
|
| 203 | +<span id="198">198</span> |
203 | 204 | </pre><pre class="rust"><code><span class="comment">// * This file is part of the uutils coreutils package.</span>
|
204 | 205 | <span class="comment">// *</span>
|
205 | 206 | <span class="comment">// * For the full copyright and license information, please view the LICENSE</span>
|
|
208 | 209 | <span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">OPT_BLOCKSIZE</span>, <span class="ident">OPT_HUMAN_READABLE_BINARY</span>, <span class="ident">OPT_HUMAN_READABLE_DECIMAL</span>};
|
209 | 210 | <span class="kw">use</span> <span class="ident">clap::ArgMatches</span>;
|
210 | 211 | <span class="kw">use</span> <span class="ident">std::fmt</span>;
|
211 |
| -<span class="kw">use</span> <span class="ident">std::num::ParseIntError</span>; |
| 212 | + |
| 213 | +<span class="kw">use</span> <span class="ident">uucore::parse_size</span>::{<span class="ident">parse_size</span>, <span class="ident">ParseSizeError</span>}; |
212 | 214 |
|
213 | 215 | <span class="doccomment">/// The first ten powers of 1024.</span>
|
214 | 216 | <span class="kw">const</span> <span class="ident">IEC_BASES</span>: [<span class="ident">u128</span>; <span class="number">10</span>] <span class="op">=</span> [
|
|
309 | 311 | }
|
310 | 312 | }
|
311 | 313 |
|
312 |
| -<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">block_size_from_matches</span>(<span class="ident">matches</span>: <span class="kw-2">&</span><span class="ident">ArgMatches</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">BlockSize</span>, <span class="ident">ParseIntError</span><span class="op">></span> { |
| 314 | +<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">block_size_from_matches</span>(<span class="ident">matches</span>: <span class="kw-2">&</span><span class="ident">ArgMatches</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">BlockSize</span>, <span class="ident">ParseSizeError</span><span class="op">></span> { |
313 | 315 | <span class="kw">if</span> <span class="ident">matches</span>.<span class="ident">is_present</span>(<span class="ident">OPT_HUMAN_READABLE_BINARY</span>) {
|
314 | 316 | <span class="prelude-val">Ok</span>(<span class="ident">BlockSize::HumanReadableBinary</span>)
|
315 | 317 | } <span class="kw">else</span> <span class="kw">if</span> <span class="ident">matches</span>.<span class="ident">is_present</span>(<span class="ident">OPT_HUMAN_READABLE_DECIMAL</span>) {
|
316 | 318 | <span class="prelude-val">Ok</span>(<span class="ident">BlockSize::HumanReadableDecimal</span>)
|
317 | 319 | } <span class="kw">else</span> <span class="kw">if</span> <span class="ident">matches</span>.<span class="ident">is_present</span>(<span class="ident">OPT_BLOCKSIZE</span>) {
|
318 | 320 | <span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">matches</span>.<span class="ident">value_of</span>(<span class="ident">OPT_BLOCKSIZE</span>).<span class="ident">unwrap</span>();
|
319 |
| - <span class="prelude-val">Ok</span>(<span class="ident">BlockSize::Bytes</span>(<span class="ident">s</span>.<span class="ident">parse</span>()<span class="question-mark">?</span>)) |
| 321 | + <span class="prelude-val">Ok</span>(<span class="ident">BlockSize::Bytes</span>(<span class="ident">parse_size</span>(<span class="ident">s</span>)<span class="question-mark">?</span>)) |
320 | 322 | } <span class="kw">else</span> {
|
321 | 323 | <span class="prelude-val">Ok</span>(<span class="ident">Default::default</span>())
|
322 | 324 | }
|
|
0 commit comments