|
345 | 345 | <span id="340">340</span>
|
346 | 346 | <span id="341">341</span>
|
347 | 347 | <span id="342">342</span>
|
348 |
| -<span id="343">343</span> |
349 |
| -<span id="344">344</span> |
350 |
| -<span id="345">345</span> |
351 |
| -<span id="346">346</span> |
352 |
| -<span id="347">347</span> |
353 |
| -<span id="348">348</span> |
354 |
| -<span id="349">349</span> |
355 | 348 | </pre><pre class="rust"><code><span class="comment">// * This file is part of the uutils coreutils package.</span>
|
356 | 349 | <span class="comment">// *</span>
|
357 | 350 | <span class="comment">// * (c) Alex Lyon <arcterus@mail.com></span>
|
|
362 | 355 | <span class="comment">// spell-checker:ignore (ToDO) cmdline evec seps rvec fdata</span>
|
363 | 356 |
|
364 | 357 | <span class="kw">use</span> <span class="ident">clap</span>::{<span class="ident">crate_version</span>, <span class="ident">Arg</span>, <span class="ident">Command</span>, <span class="ident">Values</span>};
|
| 358 | +<span class="kw">use</span> <span class="ident">memchr::memchr_iter</span>; |
365 | 359 | <span class="kw">use</span> <span class="ident">rand::prelude::SliceRandom</span>;
|
366 | 360 | <span class="kw">use</span> <span class="ident">rand::RngCore</span>;
|
367 | 361 | <span class="kw">use</span> <span class="ident">std::fs::File</span>;
|
|
572 | 566 | <span class="kw">if</span> <span class="ident">data</span>[<span class="ident">i</span>].<span class="ident">contains</span>(<span class="kw-2">&</span><span class="ident">sep</span>) {
|
573 | 567 | <span class="kw">let</span> <span class="ident">this</span> <span class="op">=</span> <span class="ident">data</span>.<span class="ident">swap_remove</span>(<span class="ident">i</span>);
|
574 | 568 | <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">p</span> <span class="op">=</span> <span class="number">0</span>;
|
575 |
| - <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">i</span> <span class="op">=</span> <span class="number">1</span>; |
576 |
| - <span class="kw">loop</span> { |
577 |
| - <span class="kw">if</span> <span class="ident">i</span> <span class="op">==</span> <span class="ident">this</span>.<span class="ident">len</span>() { |
578 |
| - <span class="kw">break</span>; |
579 |
| - } |
580 |
| - |
581 |
| - <span class="kw">if</span> <span class="ident">this</span>[<span class="ident">i</span>] <span class="op">==</span> <span class="ident">sep</span> { |
582 |
| - <span class="ident">data</span>.<span class="ident">push</span>(<span class="kw-2">&</span><span class="ident">this</span>[<span class="ident">p</span>..<span class="ident">i</span>]); |
583 |
| - <span class="ident">p</span> <span class="op">=</span> <span class="ident">i</span> <span class="op">+</span> <span class="number">1</span>; |
584 |
| - } |
585 |
| - <span class="ident">i</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>; |
| 569 | + <span class="kw">for</span> <span class="ident">i</span> <span class="kw">in</span> <span class="ident">memchr_iter</span>(<span class="ident">sep</span>, <span class="ident">this</span>) { |
| 570 | + <span class="ident">data</span>.<span class="ident">push</span>(<span class="kw-2">&</span><span class="ident">this</span>[<span class="ident">p</span>..<span class="ident">i</span>]); |
| 571 | + <span class="ident">p</span> <span class="op">=</span> <span class="ident">i</span> <span class="op">+</span> <span class="number">1</span>; |
586 | 572 | }
|
587 | 573 | <span class="kw">if</span> <span class="ident">p</span> <span class="op"><</span> <span class="ident">this</span>.<span class="ident">len</span>() {
|
588 |
| - <span class="ident">data</span>.<span class="ident">push</span>(<span class="kw-2">&</span><span class="ident">this</span>[<span class="ident">p</span>..<span class="ident">i</span>]); |
| 574 | + <span class="ident">data</span>.<span class="ident">push</span>(<span class="kw-2">&</span><span class="ident">this</span>[<span class="ident">p</span>..]); |
589 | 575 | }
|
590 | 576 | }
|
591 | 577 | }
|
|
0 commit comments