|
2795 | 2795 | <span id="2790">2790</span>
|
2796 | 2796 | <span id="2791">2791</span>
|
2797 | 2797 | <span id="2792">2792</span>
|
| 2798 | +<span id="2793">2793</span> |
| 2799 | +<span id="2794">2794</span> |
| 2800 | +<span id="2795">2795</span> |
| 2801 | +<span id="2796">2796</span> |
| 2802 | +<span id="2797">2797</span> |
| 2803 | +<span id="2798">2798</span> |
| 2804 | +<span id="2799">2799</span> |
| 2805 | +<span id="2800">2800</span> |
| 2806 | +<span id="2801">2801</span> |
| 2807 | +<span id="2802">2802</span> |
2798 | 2808 | </pre><pre class="rust"><code><span class="comment">// This file is part of the uutils coreutils package.</span>
|
2799 | 2809 | <span class="comment">//</span>
|
2800 | 2810 | <span class="comment">// (c) Jeremiah Peschka <jeremiah.peschka@gmail.com></span>
|
|
3366 | 3376 | };
|
3367 | 3377 |
|
3368 | 3378 | <span class="kw">let</span> <span class="ident">width</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">options</span>.<span class="ident">value_of</span>(<span class="ident">options::WIDTH</span>) {
|
3369 |
| - <span class="prelude-val">Some</span>(<span class="ident">x</span>) => <span class="kw">match</span> <span class="ident">x</span>.<span class="ident">parse</span>::<span class="op"><</span><span class="ident">u16</span><span class="op">></span>() { |
3370 |
| - <span class="prelude-val">Ok</span>(<span class="ident">u</span>) => <span class="ident">u</span>, |
3371 |
| - <span class="prelude-val">Err</span>(<span class="kw">_</span>) => <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">LsError::InvalidLineWidth</span>(<span class="ident">x</span>.<span class="ident">into</span>()).<span class="ident">into</span>()), |
3372 |
| - }, |
| 3379 | + <span class="prelude-val">Some</span>(<span class="ident">x</span>) => { |
| 3380 | + <span class="kw">if</span> <span class="ident">x</span>.<span class="ident">starts_with</span>(<span class="string">'0'</span>) <span class="op">&&</span> <span class="ident">x</span>.<span class="ident">len</span>() <span class="op">></span> <span class="number">1</span> { |
| 3381 | + <span class="comment">// Read number as octal</span> |
| 3382 | + <span class="kw">match</span> <span class="ident">u16::from_str_radix</span>(<span class="ident">x</span>, <span class="number">8</span>) { |
| 3383 | + <span class="prelude-val">Ok</span>(<span class="ident">v</span>) => <span class="ident">v</span>, |
| 3384 | + <span class="prelude-val">Err</span>(<span class="kw">_</span>) => <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">LsError::InvalidLineWidth</span>(<span class="ident">x</span>.<span class="ident">into</span>()).<span class="ident">into</span>()), |
| 3385 | + } |
| 3386 | + } <span class="kw">else</span> { |
| 3387 | + <span class="kw">match</span> <span class="ident">x</span>.<span class="ident">parse</span>::<span class="op"><</span><span class="ident">u16</span><span class="op">></span>() { |
| 3388 | + <span class="prelude-val">Ok</span>(<span class="ident">u</span>) => <span class="ident">u</span>, |
| 3389 | + <span class="prelude-val">Err</span>(<span class="kw">_</span>) => <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">LsError::InvalidLineWidth</span>(<span class="ident">x</span>.<span class="ident">into</span>()).<span class="ident">into</span>()), |
| 3390 | + } |
| 3391 | + } |
| 3392 | + } |
3373 | 3393 | <span class="prelude-val">None</span> => <span class="kw">match</span> <span class="ident">termsize::get</span>() {
|
3374 | 3394 | <span class="prelude-val">Some</span>(<span class="ident">size</span>) => <span class="ident">size</span>.<span class="ident">cols</span>,
|
3375 | 3395 | <span class="prelude-val">None</span> => <span class="kw">match</span> <span class="ident">std::env::var_os</span>(<span class="string">"COLUMNS"</span>) {
|
|
0 commit comments