Commit graph

413 commits

Author SHA1 Message Date
Michael Gehring
ca16e66a55 switch to cargo version numbers 2015-11-25 10:58:49 +01:00
Michael Gehring
9365e100d9 Merge pull request #723 from jbcrail/cleanup
Fix whitespace, unused file, and warnings.
2015-11-25 10:20:46 +01:00
Joseph Crail
55e5327573 Use name/version when showing hostname's usage. 2015-11-25 04:05:12 -05:00
Michael Gehring
cdbae736f1 sum: use wrapping_add to avoid overflow panics 2015-11-25 09:58:58 +01:00
Joseph Crail
ca1074201f Split utility files into separate library.
Everything in src/common has been moved to src/uucore. This is defined
as a Cargo library, instead of directly included. This gives us
flexibility to make the library an external crate in the future.

Fixes #717.
2015-11-24 22:20:27 -05:00
Nathan Ross
502957dc3e use cargo idioms to manage dependency resolution and compilation 2015-11-23 02:04:15 -05:00
Nathan Ross
b20b2cca19 update uses of libc 0.1.x and deprecated stdlib uses 2015-11-23 02:04:15 -05:00
Joseph Crail
3b5c776675 Add tests for rmdir.
I also adjusted error message to conform to GNU implementation.
2015-11-01 15:31:48 -05:00
Joseph Crail
4121d1e25d Remove unnecessary parentheses. 2015-10-31 02:32:55 -04:00
Roman Gafiyatullin
7b54410557 expr: prefix operators length/1, index/3 and substr/3 2015-10-09 19:26:51 +03:00
Roman Gafiyatullin
092e4d1ed4 Implement expr.
Implemented as follows:

    Usage: expr EXPRESSION
      or:  expr OPTION

          --help     display this help and exit
          --version  output version information and exit

    Print the value of EXPRESSION to standard output.  A blank line below
    separates increasing precedence groups.  EXPRESSION may be:

      ARG1 | ARG2       ARG1 if it is neither null nor 0, otherwise ARG2

      ARG1 & ARG2       ARG1 if neither argument is null or 0, otherwise 0

      ARG1 < ARG2       ARG1 is less than ARG2
      ARG1 <= ARG2      ARG1 is less than or equal to ARG2
      ARG1 = ARG2       ARG1 is equal to ARG2
      ARG1 != ARG2      ARG1 is unequal to ARG2
      ARG1 >= ARG2      ARG1 is greater than or equal to ARG2
      ARG1 > ARG2       ARG1 is greater than ARG2

      ARG1 + ARG2       arithmetic sum of ARG1 and ARG2
      ARG1 - ARG2       arithmetic difference of ARG1 and ARG2

      ARG1 * ARG2       arithmetic product of ARG1 and ARG2
      ARG1 / ARG2       arithmetic quotient of ARG1 divided by ARG2
      ARG1 % ARG2       arithmetic remainder of ARG1 divided by ARG2

      STRING : REGEXP   [NOT IMPLEMENTED] anchored pattern match of REGEXP in STRING

      match STRING REGEXP        [NOT IMPLEMENTED] same as STRING : REGEXP
      substr STRING POS LENGTH   [NOT IMPLEMENTED] substring of STRING, POS counted from 1
      index STRING CHARS         [NOT IMPLEMENTED] index in STRING where any CHARS is found, or 0
      length STRING              [NOT IMPLEMENTED] length of STRING
      + TOKEN                    interpret TOKEN as a string, even if it is a
                                   keyword like 'match' or an operator like '/'

      ( EXPRESSION )             value of EXPRESSION

    Beware that many operators need to be escaped or quoted for shells.
    Comparisons are arithmetic if both ARGs are numbers, else lexicographical.
    Pattern matches return the string matched between \( and \) or null; if
    \( and \) are not used, they return the number of characters matched or 0.

    Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null
    or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.

    Environment variables:
    	* EXPR_DEBUG_TOKENS=1   dump expression's tokens
    	* EXPR_DEBUG_RPN=1      dump expression represented in reverse polish notation
    	* EXPR_DEBUG_SYA_STEP=1 dump each parser step
    	* EXPR_DEBUG_AST=1      dump expression represented abstract syntax tree
2015-10-09 12:31:25 +03:00
Carlos Liam
87d14978e9 Clean whitespace
Remove leading newlines and replace lines containing only whitespace
with empty lines
2015-10-06 12:04:46 -04:00
Michael Gehring
d167674ba7 Fix nightly build 2015-09-29 22:37:24 +02:00
Roman Gafiyatullin
b4dd12104f factor: panic running againts power of two.
No further calculations required in case 'num' is already 1.
2015-10-02 20:30:35 +03:00
Steve Klabnik
0c117eb8a8 initial work 2015-09-27 23:55:28 -04:00
Steve Klabnik
ac7e289d29 Fix the build 2015-09-27 23:34:23 -04:00
Danilo Bargen
3e1c6e7e71 Use system error codes 2015-09-18 11:51:59 +02:00
Danilo Bargen
0e7223cfb0 Handle null pointer return value for getpwuid on Linux 2015-09-18 11:12:39 +02:00
Danilo Bargen
a8f9b40674 Return Result<String, String> from getusername 2015-09-18 11:12:39 +02:00
Heather
fe0a49f7a4 Merge pull request #671 from ebfe/cargo-build
Basic Cargo based build
2015-09-17 16:42:43 +03:00
Christian Zinck
f31192d46a enhanced numeric sort and new human readable sort 2015-08-30 20:06:33 -04:00
Michael Gehring
5411252d3a touch: add filetime dependency 2015-08-28 21:12:30 +02:00
Michael Gehring
9d8abbcb06 Basic Cargo build
Builds the uutils multicall binary containing all utils (except stdbuf)
by default. To only build a subset
    `cargo --no-default-features --features <utils>`
can be used.

Whats missing is building the standalone binaries and a mechanism to
automatically disable the build of unix only utils on windows.
2015-08-28 21:12:30 +02:00
Gustavo Hexsel
f8df842dfb Moved code officially to run on nightly since it's a dependency 2015-08-26 12:50:07 -04:00
Sam Gibson
c06b8218f7 Fix build by making du not use futures
Use channels and push them into a vector instead. Code remains largely the same.
2015-08-24 18:57:09 +12:00
Joseph Crail
26f0ec8379 Fix difference w/ GNU coreutils' sum.
When using the SYSV algorithm and reading from standard input, the GNU
coreutils implementation does not output the filename, in this case "-".
2015-08-14 00:10:15 -04:00
Heather
809affff6c Merge pull request #678 from jbcrail/stabilize-4
Remove unstable features from mv/touch.
2015-08-12 08:13:40 +03:00
Joseph Crail
e9b008cf70 Remove unstable features from ptx.
I cleaned up string references, whitespace, and use of unstable
features. I also added a comment about reverting to connect, making
others aware that the method should be replaced by join after 1.3.
2015-08-12 00:01:10 -04:00
Joseph Crail
eff8851cf9 Fix bug when setting time w/o year. 2015-08-11 21:45:11 -04:00
Joseph Crail
e455ba5de1 Replace unstable set_file_times w/ external crate. 2015-08-11 21:45:11 -04:00
Joseph Crail
9d84890c89 Convert to byte vec w/o using deprecated methods. 2015-08-11 21:45:11 -04:00
Joseph Crail
480019f5b3 Add comments for deprecated connect().
We are using connect() instead of join() until Rust 1.3 is stable.
Currently, connect() is just a thin wrapper over join(). Keeping the
deprecated method allows us to build on all releases.
2015-08-09 23:12:23 -04:00
Joseph Crail
43d3834880 Backport and/or replace unstable features.
I removed the unstable slice_patterns and str_char features. I also used
the deprecated connect() method, instead of join().
2015-08-08 03:53:21 -04:00
Joseph Crail
b089831ea0 Switch over to internal canonicalize().
The method, fs::canonicalize(), is unstable and can't be used for stable
builds. We already have our own implementation of canonicalize(), which
supports more options than the Rust library implementation.
2015-07-31 18:55:33 -04:00
Joseph Crail
4a331897cb Replace unstable VecMap w/ external crate. 2015-07-31 17:05:22 -04:00
Joseph Crail
4300cd5a48 Replace unstable init() method. 2015-07-31 16:21:06 -04:00
Joseph Crail
047d963a26 Remove unused feature attribute. 2015-07-31 16:21:06 -04:00
Joseph Crail
f41d5b3f8f Replace unstable fs:walk_dir() w/ external crate. 2015-07-31 16:21:06 -04:00
Joseph Crail
6ff576e300 Use non-PathExt canonicalize(). 2015-07-31 16:21:06 -04:00
Joseph Crail
f03b22a65c Stabilize several PathExt methods. 2015-07-31 16:21:06 -04:00
Karol Rozycki
b025b44806 -f flag for uniq 2015-07-31 19:37:40 +02:00
Joseph Crail
9bc6eb4e7b Replace deprecated methods.
I replaced position_elem() and slice_chars(). I also removed an unused
feature attribute.
2015-07-30 22:21:18 -04:00
Joseph Crail
157c20c7d3 Replace deprecated methods. 2015-07-27 00:35:34 -04:00
Peter Atashian
010bda9df2 Fix build on non-windows
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-07-20 16:40:29 -04:00
Peter Atashian
47f82f0de2 Various Windows fixes
Improve handling of unicode on Windows
Disable a few crates on Windows that abuse unix APIs too much

Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-07-19 20:25:48 -04:00
Joseph Crail
49d9de17fe Fix deprecation warnings for tr.
I switched over to the bit-vec/bit-set cargos.
2015-07-09 18:30:03 -04:00
Alex Lyon
8f6d13df5f Merge pull request #647 from jbcrail/fix-osx-stdbuf
Fix OS X build errors for stdbuf.
2015-07-09 14:58:07 -07:00
Alex Lyon
7c2ed679ab Merge pull request #649 from jbcrail/fix-stdbuf-regression
Fix stdbuf regression.
2015-07-09 12:58:13 -07:00
Joseph Crail
b8ab2c125f Fix stdbuf regression.
When replacing range_inclusive(), I introduced a bug when parsing
arguments. I added a smoke test to prevent basic regressions in the
future.
2015-07-09 15:23:14 -04:00
Joseph Crail
3fa2e89a7a Fix OS X build errors for stdbuf.
I removed unused linker flags, added platform-specific linker flags, and
used DYLD_LIBRARY_PATH (instead of DYLD_INSERT_LIBRARIES) for loading
the dynamic library. I also removed an unused variable mutation.
2015-07-09 13:04:04 -04:00