Commit graph

47 commits

Author SHA1 Message Date
Michael Gehring
a2944e06db Fix clippy warnings 2016-01-06 09:36:20 +01:00
Joseph Crail
8fa09b2004 Remove trait shim needed before Path stabilized
Now that Path has stabilized in Rust 1.5, I removed the UUPathExt trait
needed to support stable, beta, and nightly.
2015-12-10 14:20:01 -05:00
Joseph Crail
b90d253584 Refactor and simplify build for utilities.
For coreutils, there are two build artifacts:

  1. multicall executable (each utility is a separate static library)
  2. individual utilities (still separate library with main wrapper)

To avoid namespace collision, each utility crate is defined as
"uu_{CMD}". The end user only sees the original utility name. This
simplifies build.rs.

Also, the thin wrapper for the main() function is no longer contained in
the crate. It has been separated into a dedicated file. This was
necessary to work around Cargo's need for the crate name attribute to
match the name in the respective Cargo.toml.
2015-12-07 21:56:45 -05:00
Joseph Crail
e3eb633ac9 cut: fix off-by-one error for range calculation
When determining the range from which to select portions of a line, the
upper limit of the range is a usize. The maximum upper value is
usize::MAX, but at one point this value is incremented, causing an
overflow. By setting the maximum upper value to usize::MAX-1, the bug is
averted. Since the upper limit of the range is an index (thus, ranging
from 0 to 2^64-1 for 64-bit platforms), the maximum usize should not be
reached.
2015-11-28 00:42:35 -05:00
Michael Gehring
ca16e66a55 switch to cargo version numbers 2015-11-25 10:58:49 +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
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
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
Joseph Crail
f03b22a65c Stabilize several PathExt methods. 2015-07-31 16:21:06 -04: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
690a483a8a Update to nightly build.
I updated the library dependencies, features, and deprecated methods.
2015-06-23 23:00:00 -04:00
Joseph Crail
496d5883a4 Switch to external getopts cargo (part 3).
I switched over to the getopts crate on crates.io, instead of Rust's
private implementation. This will allow coreutils to build for Rust 1.0.

I'm splitting the updates into several commits for easier reviewing.
2015-05-21 21:32:55 -04:00
kwantam
aabbf83d88 fix cut
This commit updates `cut` to build on rust nightly.

In addition, it adds support for null input and output delimiters,
and fixes a bug in the `cut_characters()` function that would cause
incorrect output when two adjacent fields were specified in the range
list.
2015-05-11 21:15:39 -04:00
Michael Gehring
9ae9a48387 feature io -> old_io, path -> old_path 2015-02-22 13:59:12 +01:00
Michael Gehring
e7b647171f os::set_exit_status(isize) -> env::set_exit_status(i32) 2015-02-22 13:59:12 +01:00
Michael Gehring
d3ff46d0c7 Drop deprecated 'libc' feature flag 2015-02-06 14:10:07 +01:00
Michael Gehring
3eb5a814a3 Fix most unstable feature warnings 2015-02-03 23:54:37 +01:00
Michael Gehring
db8506532e derive(Show) -> derive(Debug) 2015-02-03 22:42:36 +01:00
Michael Gehring
d89d9ca73b Various functions in std::str return Result instead of Option now 2015-02-03 22:32:30 +01:00
Michael Gehring
906d3e4ec5 write -> write_all 2015-01-29 08:47:43 +01:00
Michael Gehring
d187dc574b std::io -> std::old_io 2015-01-29 08:45:37 +01:00
Michael Gehring
fbdf04c072 Replace deprecated slice_{to,from} with slicing syntax 2015-01-24 10:46:28 +01:00
Michael Gehring
4d6cbfa393 Disable unstable warnings for now 2015-01-10 20:44:56 +01:00
Michael Gehring
782fad4667 int/uint -> isize/usize 2015-01-10 20:40:37 +01:00
Michael Gehring
f2d49f4bb6 Make uumain return isize everywhere 2015-01-10 14:07:39 +01:00
Michael Gehring
cb87309e92 cut: fix build 2015-01-09 14:09:12 +01:00
Michael Gehring
fd69e7fa4a str::from_str removal/changes 2015-01-08 14:50:03 +01:00
Michael Gehring
7d8053561e Use new array syntax 2015-01-08 14:50:03 +01:00
Michael Gehring
074a58eafd deriving is now called derive 2015-01-08 14:50:03 +01:00
Michael Gehring
1b381f49fa Use new macro feature flags/attributes 2015-01-08 14:50:02 +01:00
Headless
0f2e20cc49 fix char_len warnings
3c60bc02ce/src/libcollections/str.rs (L1101)
2014-12-28 14:09:50 +03:00
Haitao Li
9b67c372b2 Add semicolons to item macros 2014-12-22 10:54:29 +11:00
Michael Gehring
09f223fdb1 Update for new coercion rules 2014-11-19 21:58:16 +01:00
Michael Gehring
cd409c6d3f Update for namespaced enums 2014-11-19 21:58:16 +01:00
skv
737db500a3 update from string for new api 2014-11-17 17:56:00 +03:00
Michael Gehring
71c9797bd7 Fix get_mut deprecation warnings 2014-11-02 17:10:35 +01:00
Michael Gehring
3244416b19 fail! -> panic! 2014-10-30 10:06:47 +01:00
Arcterus
894daea5c1 cut: fix deprecation warnings 2014-10-25 21:28:24 -07:00
Heather
421ad316b5 Merge pull request #393 from ebfe/rfc-52
Update for rust RFC 52 changes
2014-09-18 02:23:35 +04:00
Michael Gehring
2ef74e2783 Update for rust RFC 52 changes 2014-09-17 17:16:21 +02:00
Arcterus
01c2a0b9ff Remove all warnings (at least on Linux) 2014-09-16 20:08:40 -07:00
Arcterus
01c681ecb3 Update for latest Rust 2014-09-16 19:10:27 -07:00
Michael Gehring
f9e99c0c26 Fix non_snake_case warnings 2014-09-02 09:49:39 +02:00
Michael Gehring
81264a5d6a Fix build with rust master 2014-08-17 10:27:22 +02:00
polyphemus
2a238e3c0f Get rid of unsafe indexing
Unsafe indexing is replaced by ImmutableEqVector::position_elem() and a
few branches have been eliminated.

The performance is about the same as for unsafe indexing.
2014-07-31 22:43:31 +02:00
Arcterus
b7f4bd01bc Move all of the utils into src 2014-07-20 20:20:55 -07:00