Commit graph

413 commits

Author SHA1 Message Date
Joseph Crail
3270040778 Remove unused mutation from variables. 2015-07-08 22:24:02 -04:00
Joseph Crail
01b0d5da1c Remove unused attribute. 2015-07-05 22:36:34 -04:00
Joseph Crail
9f1dc98925 Add initial implementation for ln.
There are several areas needing improvement:

1) add tests for hard links
2) add implementation for uncommon flags (-d, -L, -n, -P, -r)
3) align error messages more closely with GNU implementation
2015-07-05 14:52:31 -04:00
Joseph Crail
951be1bfaa Fix alignment of mv help. 2015-07-01 22:09:33 -04:00
Joseph Crail
dd97629a0e Merge pull request #640 from remram44/mv-strip-trailing-slashes
Implement mv's --strip-trailing-slashes
2015-06-30 23:31:03 -04:00
Remi Rampin
0691965d63 Use ChildExt to wait from timeout.rs 2015-06-30 18:45:13 -04:00
Remi Rampin
dc40480e6e Switch wait_or_timeout() to f64 2015-06-30 18:44:32 -04:00
Remi Rampin
d806ab4809 Use ChildExt to kill from timeout.rs 2015-06-30 18:44:30 -04:00
Remi Rampin
cce3d5171d ChildExt for send_signal() and wait_or_timeout() 2015-06-30 18:42:51 -04:00
Remi Rampin
13f5994e15 Rename time.rs to parse_time.rs
Conflicts with crate time.
2015-06-30 18:42:51 -04:00
Remi Rampin
28302555b8 Replace missing signal() by libc kill() directly 2015-06-30 18:42:50 -04:00
Remi Rampin
66a40d555d Update timeout.rs to new io 2015-06-30 18:42:19 -04:00
Remi Rampin
0ed57b3896 Fix simple typo in mv.rs 2015-06-30 15:21:40 -04:00
Remi Rampin
b8d5602655 Implement mv's --strip-trailing-slashes 2015-06-30 13:24:19 -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
cf7db989e7 Update dependencies.
I added the regex-syntax crate to the dependencies for hashsum, nl, and
ptx.
2015-06-04 22:37:51 -04:00
Joseph Crail
0df4918f2d Fix split tests.
I added an additional regex dependency and converted strings to
Vec<u8>'s for the assertions.
2015-06-04 13:57:17 -04:00
Joseph Crail
1e22455032 Align formatting with GNU implementation. 2015-06-03 01:41:56 -04:00
Joseph Crail
ac8d972ed9 Refactor wc settings into dedicated struct. 2015-06-03 01:41:56 -04:00
Joseph Crail
b25a344566 Add quiet and verbose flags to head. 2015-05-31 20:26:57 -04:00
Joseph Crail
1580daea7c Refactor utility settings into dedicated struct.
This will make it easier to add support for additional options, such as
verbosity and negative byte/line counts.
2015-05-30 19:10:15 -04:00
Joseph Crail
b008ed103d Improve descriptions of available options. 2015-05-30 19:10:15 -04:00
Joseph Crail
826d8a6530 Add newline when printing lines. 2015-05-30 19:10:15 -04:00
dokaptur
5aa68eb716 printing version unified and tests 2015-05-30 13:48:53 +02:00
dokaptur
ea7df03c0a initial ptx commit 2015-05-30 09:35:28 +02:00
Joseph Crail
17e732f0fd Flush pending stdout writes. 2015-05-29 13:51:11 -04:00
Heather
f84d5462a3 Merge pull request #625 from jbcrail/add-base64-tests
Add tests for base64.
2015-05-29 07:57:35 +03:00
Joseph Crail
1be9c41105 Upgrade regex cargo. 2015-05-29 00:50:32 -04:00
Joseph Crail
1c405d9c91 Remove duplicate header in error messages. 2015-05-28 23:23:54 -04:00
Camille TJHOA
72d8ab0506 Fix hostname 2015-05-27 23:55:25 +02:00
Nikita Ofitserov
abd3e1e8e4 Fix 'env -' case 2015-05-27 00:51:14 +03:00
Joseph Crail
28e00cbd78 Standardize display of utility name and version. 2015-05-25 14:50:15 -04:00
Joseph Crail
d558e37288 Add macro to manually flush a writer.
I built upon the pipe_* macros, adding pipe_flush!() to flush an
optional writer (default to stdout if no writer is given).
2015-05-23 03:31:42 -04:00
Heather
9ee7d96e5b Merge pull request #619 from jbcrail/replace-utf8-ellipsis
Replace UTF-8 ellipsis character w/ ASCII periods.
2015-05-23 09:06:56 +03:00
Joseph Crail
2ef14832dc Replace UTF-8 ellipsis character w/ ASCII periods. 2015-05-23 01:56:33 -04:00
Joseph Crail
07d57ac109 Fix failure to print stdout for echo.
Upon program termination, pending stdout writes were not automatically
flushed. When newlines are disabled, I force a flush to stdout.
2015-05-22 21:49:33 -04:00
Vinícius dos Santos Oliveira
c17f925b11 cat.rs: removing need for mut variable 2015-05-22 13:53:13 -03: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
Joseph Crail
509a35ff7a Switch to external getopts cargo (part 2).
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 better reviewing.
2015-05-21 15:00:34 -04:00
Joseph Crail
b4b08de42c Switch to external getopts cargo (part 1).
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 better reviewing.
2015-05-20 22:47:30 -04:00
Joseph Crail
a94bd0bd35 Remove unstable regex macros.
This will allow coreutils to get further along when building against
Rust 1.0.
2015-05-19 21:40:03 -04:00
Heather
e7518b3eae Merge pull request #608 from jbcrail/rm-unstable-exit-status
Replace unstable set_exit_status() with exit().
2015-05-19 07:15:14 +03:00
Joseph Crail
7d1d307b92 Replace unstable set_exit_status() with exit().
With the 1.0 release, unstable features are causing build errors. I
replaced references to std::env::set_exit_status() with
std::process::exit().
2015-05-18 21:22:51 -04:00
Joseph Crail
430e9530d4 Fix nohup.
I upgraded to the nightly build.
2015-05-18 20:27:32 -04:00
Heather
37f35cd3f8 Merge pull request #605 from jbcrail/fix-stdbuf
Fix stdbuf.
2015-05-18 08:45:17 +03:00
Joseph Crail
c4d8312e6b Fix mkfifo on Linux.
The build failed because of type mismatch errors for the mode
permission.
2015-05-18 00:53:37 -04:00
Joseph Crail
a2400a272f Fix stdbuf.
The build only works on Linux at the moment.
2015-05-17 23:27:57 -04:00
Joseph Crail
7d71dfbbf4 Fix kill. 2015-05-17 15:26:52 -04:00
Joseph Crail
c93440170d Fix id. 2015-05-17 14:59:04 -04:00
Joseph Crail
1837146134 Update hashsum.
Most of the work centered around fixing lifetime issues.
2015-05-16 13:28:36 -04:00
kwantam
e1dac4695e improved Sieve implementation ; add cargo update
This commit adds `cargo update` to the distclean target in the
makefile. This updates the Cargo.lock file when clearing the
deps directory.

In addition, it adds a faster implementation of the Sieve of
Eratosthenes for use by `src/factor/gen_table.rs` and `test/factor.rs`.
2015-05-15 19:39:43 -04:00
Joseph Crail
349622a05b Fix du.
In addition to upgrading the nightly build, I flattened the Stat struct
to embed the metadata fields. This simplified access to the values, but
needed a constructor method for ergonomic reasons.
2015-05-14 18:35:55 -04:00
Heather
94cd6eb543 usernames can only be up to 104 characters in windows, fix #565 2015-05-14 08:27:47 +04:00
Heather
f0e5c19ed4 Merge pull request #597 from jbcrail/update-mkdir
Update mkdir.
2015-05-14 07:16:11 +03:00
Heather
aca7775926 Merge pull request #598 from jbcrail/fix-mv
Fix mv.
2015-05-14 07:14:54 +03:00
Joseph Crail
46bd77c3c2 Fix mkfifo. 2015-05-13 22:22:13 -04:00
Joseph Crail
18da32f394 Fix mv. 2015-05-13 21:05:36 -04:00
Joseph Crail
7f3d4ebf5b Update mkdir.
In addition to upgrading to the nightly build, I refactored the method
that creates the directories by switching from a recursive approach to
an iterative one. I also replaced the obsolete fs::mkdir() with a custom
method using fs::create_dir() and libc::chmod(). I added several
diagnostic messages that match the GNU implementation.
2015-05-13 16:38:11 -04:00
Heather
9b193d8d8a Merge pull request #594 from jbcrail/update-fold
Update fold to replace vector concatenation.
2015-05-13 07:22:47 +03:00
Heather
e078092c80 Merge pull request #595 from jbcrail/update-readlink
Update readlink.
2015-05-13 07:22:21 +03:00
Joseph Crail
f502b187a7 Remove tail return statements. 2015-05-12 19:54:12 -04:00
Joseph Crail
b2063d6d73 Update readlink.
I updated to the nightly build, completed support for the verbose flag,
and refactored the canonicalization method to simplify and add support
for Windows paths.
2015-05-12 17:07:31 -04:00
Joseph Crail
66a7dc8cb7 Update fold to replace vector concatenation.
The syntax for concatenating a vector and a slice use the '+' operator
was removed from Rust.
2015-05-12 16:52:15 -04:00
Heather
57050517f9 Merge pull request #593 from kwantam/master
fix `cut`
2015-05-12 07:10:02 +03: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
Joseph Crail
1ee57fa229 Fix nice. 2015-05-11 17:40:45 -04:00
Heather
c94a5ce808 Merge pull request #589 from jbcrail/fix-nl
Fix nl.
2015-05-11 08:08:50 +03:00
Heather
cf1723892d Merge pull request #590 from jbcrail/fix-nproc
Fix nproc.
2015-05-11 08:08:21 +03:00
Joseph Crail
b20bde94cb Fix od.
I upgraded to the nightly build and replaced the unstable BYTES constant
with mem::size_of().
2015-05-11 00:48:36 -04:00
Joseph Crail
58de022ed4 Fix nproc.
Since std::os::num_cpus() was removed from the library, I added the
num_cpus crate to the dependencies.
2015-05-10 22:20:20 -04:00
Joseph Crail
28c21902c5 Fix nl.
Aside from the usual upgrades to sync with the nightly build, I fixed an
unwrap() panic when reading lines with only a newline. I also refactored
the repeated command calls to use helper functions.
2015-05-10 18:59:37 -04:00
Joseph Crail
aa6a9c6fd7 Cleanup pwd.
I removed an unused argument from the usage documentation. I also
removed the redundant return calls.
2015-05-09 23:45:43 -04:00
Heather
1f67aaaf8c Merge pull request #585 from jbcrail/add-basename-split-tests
Add initial tests for basename/split.
2015-05-09 22:20:23 +03:00
Joseph Crail
234c81311f Add initial tests for split.
I created random data to test several cases. I verified that the data is
split into the correct number of files and can also be reassembled into
the original file.
2015-05-09 13:32:30 -04:00
Joseph Crail
3abf19a595 Fix basename when trailing slashes are present.
The GNU implementation first strips all trailing slashes before deleting
the directory portion. This case wasn't handled.

I also rewrote the method that strips the directory to use the PathBuf
methods for improved platform-indepedence.
2015-05-09 13:23:48 -04:00
Heather
39de3f7b71 Merge pull request #581 from kwantam/master
fix `rm` and `rmdir`
2015-05-09 08:11:28 +03:00
Joseph Crail
10339e6c32 Fix split.
I upgraded to the nightly build.
2015-05-08 23:11:15 -04:00
kwantam
a3acb00394 fix rmdir 2015-05-08 20:24:03 -04:00
kwantam
4854eb238d fix rm
In addition, this commit brings the behavior of `rm` better in line
with the behavior of GNU Coreutils rm, especially as regarding recursive
interactive deletion of directories. This version asks to delete files
in a different order from GNU rm, but it now gives the option of stopping
the recursion at each new directory that is reached.
2015-05-08 19:42:19 -04:00
Joseph Crail
dd19bc27c1 Update fold to nightly build. 2015-05-08 00:57:41 -04:00
Heather
4e2cd4dd24 Merge pull request #580 from jbcrail/remove-unused-feature
Remove unused feature from cat.
2015-05-08 07:46:21 +03:00
kwantam
ff24d48e73 modify factor impl to eliminate overflow issue
This change does the following:

1. Updates the arithmetic functions in `src/factor/numeric.rs` to
   correctly handle all cases up to 2^64. When numbers are larger
   than 2^63, we fall back to slightly slower routines that check
   for and handle overflow.

2. Since the arithmetic functions will now not overflow, we no longer
   need the safety net trial division implementation. We now always
   use Pollard's rho after eliminating small (<=13 bit) primes.

3. Slight tweak in `src/factor/gen_table.rs` to generate the first
   1027 primes, which means we test every prime of 13 or fewer bits
   before going into Pollard's rho. Includes corresponding update in
   `src/factor/prime_table.rs` and the Makefile to reflect this.

4. Add a new test that generates random numbers with exclusively
   large (14 to 50 bit) prime factors. This exercises the possible
   overflow paths.

5. Add another new test that checks the `is_prime()` function against
   a few dozen 64-bit primes. Again this is to exercise possible
   overflow paths.
2015-05-08 00:06:35 -04:00
Joseph Crail
dfaee63cd3 Remove unused feature from cat. 2015-05-07 23:02:47 -04:00
kwantam
7565c27c00 fixed sleep 2015-05-07 18:13:40 -04:00
Camille TJHOA
d8f58305d6 new io cksum (includes BufReader fix)
closes kwantam/coreutils#1 via cherry-pick
2015-05-07 18:13:40 -04:00
kwantam
d89fbedf12 fix shuf 2015-05-07 18:13:39 -04:00
kwantam
4390e4ffa6 fix tac 2015-05-07 18:13:39 -04:00
kwantam
9a806346a9 add test for factor
Add a test for `factor`.

This commit also pulls factor's Sieve implementation into its own module
so that the factor test can use it.

Finally, slight refactoring for clarity in gen_table.rs.
2015-05-07 18:13:39 -04:00
kwantam
cab4f8d570 fix test 2015-05-07 18:12:32 -04:00
kwantam
1c93a793e9 fix touch 2015-05-07 18:12:32 -04:00
kwantam
6c4e967fc6 fix and slight optimization for factor
This commit builds upon @wikol's Pollard rho implementation.
It adds the following:

1. A generator for prime inverse tables. With these, we can do
   very fast divisibility tests (a single multiply and comparison)
   for small primes (presently, the first 1000 primes are in the
   table, which means all numbers of ~26 bits or less can be
   factored very quickly.

2. Always try prime inverse tables before jumping into Pollard's
   rho method or using trial division.

3. Since we have eliminated all small factors by the time we're
   done with the table division, only use slow trial division when
   the number is big enough to cause overflow issues in Pollard's
   rho, and jump out of trial division and into Pollard's rho as
   soon as the number is small enough.

4. Updates the Makefile to regenerate the prime table if it's not
   up-to-date.
2015-05-07 18:12:32 -04:00
Wiktor Kuropatwa
06b70877db factor: Rho-Pollard factorization implementation 2015-05-07 18:12:32 -04:00
kwantam
cee1837879 slight clarification / refactoring in unexpand
This keeps equivalent functionality but makes the code slightly cleaner.
Also added one more test case.
2015-05-07 18:12:32 -04:00
Joseph Crail
b00a49eab2 Unescape all special characters in delimiter list. 2015-05-07 16:50:54 -04:00
Joseph Crail
773eeb6d5e Update paste to nightly build. 2015-05-07 16:49:07 -04:00
Heather
22093d1e5a Merge pull request #574 from ctjhoa/master
Update comm to new_io
2015-05-07 07:42:23 +03:00
Joseph Crail
500bbbfa83 Fix env and add tests.
I updated env to use the nightly build. I also added several tests.
2015-05-06 23:59:58 -04:00
Camille TJHOA
53f62cdd6f Update comm to new_io 2015-05-07 01:05:30 +02:00
Heather
1f2b68251f Merge pull request #573 from jbcrail/fix-link-sum
Fix link and sum.
2015-05-07 00:21:09 +03:00
Heather
5ec1c7bea4 Merge pull request #570 from jbcrail/fix-sort-test
Fix failing test for sort.
2015-05-07 00:19:53 +03:00