|
184 | 184 | <span id="178">178</span>
|
185 | 185 | <span id="179">179</span>
|
186 | 186 | <span id="180">180</span>
|
| 187 | +<span id="181">181</span> |
| 188 | +<span id="182">182</span> |
187 | 189 | </pre><pre class="rust"><code><span class="comment">// * This file is part of the uutils coreutils package.</span>
|
188 | 190 | <span class="comment">// *</span>
|
189 | 191 | <span class="comment">// * (c) Haitao Li <lihaitao@gmail.com></span>
|
|
222 | 224 | <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">uumain</span>(<span class="ident">args</span>: <span class="kw">impl</span> <span class="ident">uucore::Args</span>) -> <span class="ident">UResult</span><span class="op"><</span>()<span class="op">></span> {
|
223 | 225 | <span class="kw">let</span> <span class="ident">matches</span> <span class="op">=</span> <span class="ident">uu_app</span>().<span class="ident">get_matches_from</span>(<span class="ident">args</span>);
|
224 | 226 |
|
225 |
| - <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">no_newline</span> <span class="op">=</span> <span class="ident">matches</span>.<span class="ident">contains_id</span>(<span class="ident">OPT_NO_NEWLINE</span>); |
| 227 | + <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">no_trailing_delimiter</span> <span class="op">=</span> <span class="ident">matches</span>.<span class="ident">contains_id</span>(<span class="ident">OPT_NO_NEWLINE</span>); |
226 | 228 | <span class="kw">let</span> <span class="ident">use_zero</span> <span class="op">=</span> <span class="ident">matches</span>.<span class="ident">contains_id</span>(<span class="ident">OPT_ZERO</span>);
|
227 | 229 | <span class="kw">let</span> <span class="ident">silent</span> <span class="op">=</span> <span class="ident">matches</span>.<span class="ident">contains_id</span>(<span class="ident">OPT_SILENT</span>) <span class="op">|</span><span class="op">|</span> <span class="ident">matches</span>.<span class="ident">contains_id</span>(<span class="ident">OPT_QUIET</span>);
|
228 | 230 | <span class="kw">let</span> <span class="ident">verbose</span> <span class="op">=</span> <span class="ident">matches</span>.<span class="ident">contains_id</span>(<span class="ident">OPT_VERBOSE</span>);
|
|
252 | 254 | <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">UUsageError::new</span>(<span class="number">1</span>, <span class="string">"missing operand"</span>));
|
253 | 255 | }
|
254 | 256 |
|
255 |
| - <span class="kw">if</span> <span class="ident">no_newline</span> <span class="op">&&</span> <span class="ident">files</span>.<span class="ident">len</span>() <span class="op">></span> <span class="number">1</span> <span class="op">&&</span> <span class="op">!</span><span class="ident">silent</span> { |
| 257 | + <span class="kw">if</span> <span class="ident">no_trailing_delimiter</span> <span class="op">&&</span> <span class="ident">files</span>.<span class="ident">len</span>() <span class="op">></span> <span class="number">1</span> <span class="op">&&</span> <span class="op">!</span><span class="ident">silent</span> { |
256 | 258 | <span class="macro">show_error!</span>(<span class="string">"ignoring --no-newline with multiple arguments"</span>);
|
257 |
| - <span class="ident">no_newline</span> <span class="op">=</span> <span class="bool-val">false</span>; |
| 259 | + <span class="ident">no_trailing_delimiter</span> <span class="op">=</span> <span class="bool-val">false</span>; |
258 | 260 | }
|
259 | 261 |
|
260 | 262 | <span class="kw">for</span> <span class="ident">f</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">files</span> {
|
|
265 | 267 | <span class="ident">canonicalize</span>(<span class="kw-2">&</span><span class="ident">p</span>, <span class="ident">can_mode</span>, <span class="ident">res_mode</span>)
|
266 | 268 | };
|
267 | 269 | <span class="kw">match</span> <span class="ident">path_result</span> {
|
268 |
| - <span class="prelude-val">Ok</span>(<span class="ident">path</span>) => <span class="ident">show</span>(<span class="kw-2">&</span><span class="ident">path</span>, <span class="ident">no_newline</span>, <span class="ident">use_zero</span>).<span class="ident">map_err_context</span>(<span class="ident">String::new</span>)<span class="question-mark">?</span>, |
| 270 | + <span class="prelude-val">Ok</span>(<span class="ident">path</span>) => { |
| 271 | + <span class="ident">show</span>(<span class="kw-2">&</span><span class="ident">path</span>, <span class="ident">no_trailing_delimiter</span>, <span class="ident">use_zero</span>).<span class="ident">map_err_context</span>(<span class="ident">String::new</span>)<span class="question-mark">?</span>; |
| 272 | + } |
269 | 273 | <span class="prelude-val">Err</span>(<span class="ident">err</span>) => {
|
270 | 274 | <span class="kw">if</span> <span class="ident">verbose</span> {
|
271 | 275 | <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">USimpleError::new</span>(
|
|
353 | 357 | )
|
354 | 358 | }
|
355 | 359 |
|
356 |
| -<span class="kw">fn</span> <span class="ident">show</span>(<span class="ident">path</span>: <span class="kw-2">&</span><span class="ident">Path</span>, <span class="ident">no_newline</span>: <span class="ident">bool</span>, <span class="ident">use_zero</span>: <span class="ident">bool</span>) -> <span class="ident">std::io::Result</span><span class="op"><</span>()<span class="op">></span> { |
| 360 | +<span class="kw">fn</span> <span class="ident">show</span>(<span class="ident">path</span>: <span class="kw-2">&</span><span class="ident">Path</span>, <span class="ident">no_trailing_delimiter</span>: <span class="ident">bool</span>, <span class="ident">use_zero</span>: <span class="ident">bool</span>) -> <span class="ident">std::io::Result</span><span class="op"><</span>()<span class="op">></span> { |
357 | 361 | <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">path</span>.<span class="ident">to_str</span>().<span class="ident">unwrap</span>();
|
358 |
| - <span class="kw">if</span> <span class="ident">use_zero</span> { |
359 |
| - <span class="macro">print!</span>(<span class="string">"{}\0"</span>, <span class="ident">path</span>); |
360 |
| - } <span class="kw">else</span> <span class="kw">if</span> <span class="ident">no_newline</span> { |
| 362 | + <span class="kw">if</span> <span class="ident">no_trailing_delimiter</span> { |
361 | 363 | <span class="macro">print!</span>(<span class="string">"{}"</span>, <span class="ident">path</span>);
|
| 364 | + } <span class="kw">else</span> <span class="kw">if</span> <span class="ident">use_zero</span> { |
| 365 | + <span class="macro">print!</span>(<span class="string">"{}\0"</span>, <span class="ident">path</span>); |
362 | 366 | } <span class="kw">else</span> {
|
363 | 367 | <span class="macro">println!</span>(<span class="string">"{}"</span>, <span class="ident">path</span>);
|
364 | 368 | }
|
|
0 commit comments