Valentin Lorentz
dd0d23839a
unlink: Add a nul-terminator after the file name before calling lstat.
2018-04-22 10:32:43 +02:00
Alex Lyon
b50aaf6456
du: pick format for convert_size() once and reverse UNITS (again)
2018-04-20 03:56:47 -07:00
Alex Lyon
da301be35c
du: capitalize input block size (e.g. turn 'kB' into 'KB')
2018-04-20 01:26:29 -07:00
Alex Lyon
b619e363db
du: clean up block size parsing code
2018-04-20 00:54:49 -07:00
Alex Lyon
8498e33099
Merge pull request #1176 from bootandy/du_input_refactor3
...
du: read block size environment variables
2018-04-20 00:23:53 -07:00
Konstantin Pospelov
4b8d4bfc05
join: fix autoformat
...
There was an issue with autoformat when the files had a different
number of columns in the first line. This commit fixes the issue and
extends the related test to cover this case.
2018-04-15 17:42:52 +03:00
Konstantin Pospelov
cd98478ce9
join: minor improvements
...
Move the code to get the current key into a separate function.
Replace two 'combine' functions with one defined for Input.
2018-04-15 17:33:02 +03:00
Konstantin Pospelov
7dc8ff62cc
join: support headers
2018-04-11 22:55:44 +03:00
Michael Aaron Murphy
dddc773200
[ls] Add "-1" Flag & Fix Needless Vec
2018-04-10 22:13:21 -04:00
bootandy
f1497e43ce
du: read block size environment variables
...
blocksize env variables are read if -B is not specified as a command
line argument.
blocksize is now case insensitive (like gdu).
fn translate_to_pure_number() pulled out from existing code which
populated the block size variable
2018-04-06 21:30:59 +01:00
Alex Lyon
8db47690b2
Merge pull request #1171 from bootandy/du_h
...
du -h: support GB
2018-04-05 15:41:33 -07:00
bootandy
0840c20ef4
du: support G T P E on -h
...
Allow -h (human readable form) to show sizes larger than MB
(This mimics original du behaviour)
Code refactored to remove duplication
2018-04-03 06:58:38 -04:00
Alex Lyon
87d317e22f
Merge pull request #1169 from bootandy/du
...
Fix Du mac/inodes
2018-03-28 10:33:06 -07:00
bootandy
838ce7b3e3
Fix issues raised in review
...
spelling
use POSIXLY_CORRECT and BLOCKSIZE env variables to determine block size.
move statics to const
use show_error! not show_info!
2018-03-24 18:03:34 -04:00
Alex Lyon
948dbd324e
yes: choose between throughput and latency at compile-time
2018-03-22 04:22:34 -07:00
Alex Lyon
4941604362
yes: use 16 KiB rather than 8 KiB for the buffer
2018-03-22 03:31:41 -07:00
bootandy
b6c7771087
du: Fix double counting of hard links.
...
hard linked files are no longer counted - this mimcs the behaviour of
the original du.
2018-03-20 16:59:29 -04:00
bootandy
e253406026
du: Fix incorrect block size assumption.
...
du and other tools like stat assume a 512 byte block. ls is the only
tool to use 1024.
Add Simple set of tests
2018-03-20 16:59:29 -04:00
Ian Douglas Scott
fa867e93ea
Port 'tail' to Redox
2018-03-18 22:00:00 -07:00
Ian Douglas Scott
f76b23e3df
Port 'more' to Redox
2018-03-18 18:55:42 -07:00
Ian Douglas Scott
727d4843b8
Change static to const
2018-03-16 20:14:50 -07:00
Ian Douglas Scott
187006f0d3
test: handle symlinks in main match
2018-03-16 18:47:11 -07:00
Ian Douglas Scott
301b9002ce
Port test to Redox
2018-03-16 18:39:53 -07:00
Alex Lyon
3015a19230
Merge pull request #1157 from bootandy/master
...
Fix edge case for du on mac
2018-03-15 12:26:42 -07:00
bootandy
8f67c8fef2
du: refactor to use ? shortcut
2018-03-15 14:58:21 -04:00
Ian Douglas Scott
6f4b91db93
Build hashsum, join, ln, ls, mkdir, mktemp, nl, ptx, sort on Redox
2018-03-14 22:10:28 -07:00
bootandy
be79a70572
Refactor Stat::new to return Result
...
This was to remove the double call to fs::symlink_metadata
2018-03-14 16:26:22 -04:00
Ian Douglas Scott
1471e95b22
Make the 'cat' utility build on Redox
2018-03-14 10:21:12 -07:00
bootandy
f0e25e5537
Fix edgecase for du on mac
...
When du encounters a file that cannot be read it logs an error and
continues to analysise the rest of the directory. This behaviour brings
it inline with the original du.
2018-03-13 16:05:34 -04:00
Alex Lyon
f359507b58
yes: match the speed of GNU yes (on my machine) and remove allocs
2018-03-12 21:14:52 -07:00
Alex Lyon
bd557c87fb
uucore: make features opt-in rather than opt-out
2018-03-12 20:21:38 -07:00
Alex Lyon
7b1554cc2c
whoami: switch to clap
2018-03-12 19:28:32 -07:00
Alex Lyon
155fea53b2
yes: switch to clap and try to decrease allocs
2018-03-12 16:27:21 -07:00
Alex Lyon
880a4973c1
Format everything using rustfmt
2018-03-12 01:20:58 -07:00
Alex Lyon
00a8b0b0f1
uucore: remove utsname.rs (and replace with platform-info)
2018-03-11 18:50:36 -07:00
Alex Lyon
0b70b151b8
hostname: refactor a bit
2018-03-07 03:34:04 -08:00
Alex Lyon
6330474b4f
hostname: add support for Windows (and maybe other systems too)
2018-03-06 16:40:08 -08:00
Alex Lyon
15aaa8215e
uucore: read from sys:uname on Redox
2018-03-05 17:31:33 -08:00
Alex Lyon
8ba5fae6e3
cp, tail: update winapi
2018-03-04 18:38:33 -08:00
Alex Lyon
2d798bd601
expr, sync, whoami: update Oniguruma and winapi
2018-03-04 18:07:38 -08:00
Alex Lyon
5d241da7ca
arch: add support for building on Windows
2018-03-04 17:58:16 -08:00
Alex Lyon
d8e738c49b
tests: disable some chgrp tests when part of the root group
...
Some tests failed when run using Docker because they assumed the
user would never be root. This is more of a band-aid solution.
An actual fix would be to test see if something like these tests
were to succeed when the user is root.
2018-03-03 12:04:22 -08:00
Alex Lyon
8ece01d0ef
who: fix heading in containers
2018-03-01 22:20:23 -08:00
Konstantin Pospelov
642633fe3b
join: check line order
2018-02-11 18:23:12 +03:00
king6cong
e3fedddd17
remove nightly complier warnings
2018-02-09 19:49:57 +08:00
mpkh
37f3e3a151
Merge pull request #1137 from Arcterus/realpath-relpath-fix
...
realpath, relpath: fix on stable and beta (whoops)
2018-01-18 10:36:41 +04:00
Alex Lyon
91b7ae44d6
realpath, relpath: fix on stable and beta (whoops)
2018-01-17 15:35:42 -08:00
Konstantin Pospelov
186cb8853f
join: fix code formatting
2018-01-17 23:26:00 +03:00
Konstantin Pospelov
128a38965e
join: support custom empty filler
2018-01-17 23:26:00 +03:00
mpkh
2db220e820
Merge pull request #1136 from Arcterus/realpath-relpath-fix
...
Fix build on nightly
2018-01-17 12:12:02 +04:00
James McCoy
c82e94cae5
stat: Remove hard-coded path for mount information
2018-01-16 20:48:03 -05:00
James McCoy
81eef5dabf
stat: Avoid parsing mount info when showing filesystem info
2018-01-16 20:47:52 -05:00
Alex Lyon
e9f32fe170
realpath, relpath, tests: fix build on nightly
2018-01-16 15:11:46 -08:00
Bulat Musin
cc66229f16
add #[allow(unused_imports)] to std::ascii::AsciiExt
...
explicit import of std::ascii::AsciiExt is deprecated since 1.23
2018-01-08 11:32:38 +03:00
Konstantin Pospelov
12c5c951fb
join: implement the -o option
2018-01-06 22:49:07 +03:00
Alex Lyon
49cf7c2a5b
Merge pull request #1127 from bltnkl/echo_refine
...
Slight improvements to echo
2018-01-06 10:38:46 -08:00
Bulat Musin
ec543508bc
echo: refactor slightly
2018-01-06 17:05:04 +03:00
Bulat Musin
26ad240572
echo: reorder of match patterns
...
People write \n \t and \r \v much more
often than other escape sequences, so
it makes more sense to optimise for common
case, as match scans from top to bottom.
2018-01-06 17:01:50 +03:00
Bulat Musin
7ebda2de44
echo: rewrite two functions as closures
2018-01-06 17:01:24 +03:00
Bulat Musin
6afddc4d6a
tail: squashed two commits
...
commit ceaeb5ec2a284555e6c061070c74b050efb129f0
Author: Bulat Musin <bulatmusin@outlook.com>
Date: Thu Jan 4 11:01:29 2018 +0300
tail: fix typo
commit 50e3568e460c7ec9786835c9795d1496a2463901
Author: Bulat Musin <bulatmusin@outlook.com>
Date: Thu Jan 4 10:54:17 2018 +0300
collapse similar changes into one commit
commit a54df8d92d534b801b364c2e74635dfe282441d8
Author: Bulat Musin <bulatmusin@outlook.com>
Date: Wed Jan 3 21:05:33 2018 +0300
tail: add --silent option
commit 5c9aec7e5bb5ff79f1421e5b33bf82809795bc64
Author: Bulat Musin <bulatmusin@outlook.com>
Date: Wed Jan 3 20:43:36 2018 +0300
tail: add spaces after hashes
2018-01-06 16:49:23 +03:00
Alex Lyon
3eee1b9ad6
Merge pull request #1074 from Heather/pwd_lp
...
pwd: add support for -L and -P options
2017-12-30 23:53:01 -08:00
Alex Lyon
ffc3c1d262
Merge pull request #1087 from ProgVal/faster-yes
...
Make 'yes' 1000 times faster.
2017-12-30 23:40:20 -08:00
Alex Lyon
cf7582cbd2
stdbuf: make build more reliable and allow installation using Cargo
2017-12-29 23:25:51 -08:00
Alex Lyon
feaae12d0a
cp: lock winapi to 0.2 for now
2017-12-29 03:31:13 -08:00
Alex Lyon
4deef05880
stdbuf: fix build warning
2017-12-28 22:12:44 -08:00
Alex Lyon
8ed383941d
Add Sphinx documentation to generate man pages
2017-12-28 22:02:58 -08:00
Alex Lyon
6d61b6805d
Merge pull request #1113 from tsliang/master
...
uname: change sysname flag to kernel-name
2017-12-27 03:23:40 -08:00
Tai Sassen-Liang
e79f5277ed
uname: add missing paren
2017-12-27 11:57:06 +01:00
Tai Sassen-Liang
5d4e404765
uname: convert to clap; support obsolete option aliases
2017-12-27 11:29:06 +01:00
Alex Lyon
bc6d748a9e
Merge pull request #1119 from KeenS/install-ignore--c
...
install: ignore -c option for compatibility
2017-12-27 02:29:04 -08:00
Tai Sassen-Liang
c210d8d8c9
uname: change sysname flag to kernel-name
...
The --sysname flag in GNU uname was deprecated in 2002 and replaced by --kernel-name.
2017-12-27 11:24:29 +01:00
Sunrin SHIMURA (keen)
956a6aa1fb
install: ignore -c option for compatibility
2017-12-27 17:52:53 +09:00
Sunrin SHIMURA (keen)
ee34206520
install: allow to install a file to a file
2017-12-27 17:31:19 +09:00
Alex Lyon
a1cf262414
rm: exit normally when -f is used with no operand
2017-12-26 15:36:21 -08:00
Konstantin Pospelov
4e0a0cf7bb
join: implement the -t option
2017-12-24 16:22:48 +03:00
Konstantin Pospelov
743a5b68ed
join: simplify closure for line parsing
2017-12-18 10:40:15 +03:00
Konstantin Pospelov
2a6d550f4b
join: switch to clap
2017-12-17 16:36:46 +03:00
Konstantin Pospelov
d28e09de04
join: do not wrap stdin in BufReader
2017-12-16 19:26:25 +03:00
Konstantin Pospelov
3aa63ad9dd
join: minor review points
2017-12-16 16:11:39 +03:00
Konstantin Pospelov
a04a77a477
join: switch to auto-generated main.rs
2017-12-16 16:09:46 +03:00
Konstantin Pospelov
b33ce67d91
join: implement basic functionality
...
The basic implementation of join with some tests. The supported
options: -1, -2, -j, -a, -i.
2017-12-14 00:02:42 +03:00
Cynede
908eaf610e
pwd: drop unused import
2017-12-11 14:50:56 +04:00
Cynede
6ef16b9221
pwd: fixes for UNC paths on Windows, match instead of plain unwrap
2017-12-11 14:49:20 +04:00
Mikhail Pukhlikov
f8e24439c9
pwd: add support for -L and -P options
2017-12-11 14:11:42 +04:00
Alex Lyon
26d6742c11
mknod, stdbuf: fix build
2017-12-11 00:27:38 -08:00
Alex Lyon
2e7f969404
chmod, install, uucore: fix build on Windows
2017-12-10 21:21:24 -08:00
Alex Lyon
479aeed9f6
mknod: use mode parsing in uucore
2017-12-10 21:10:26 -08:00
Alex Lyon
7aea948473
Remove pipe_* macros
2017-12-10 20:57:39 -08:00
Alex Lyon
6829ca3d10
chmod, install: move mode parsing into uucore
2017-12-10 20:11:05 -08:00
Alex Lyon
e2e77f8c70
du: only use snake case
2017-12-10 10:03:14 -08:00
Alex Lyon
2efd2b38be
du: remove inefficient multi-threading
2017-12-10 09:52:22 -08:00
Alex Lyon
9316fb4603
Merge pull request #1095 from ids1024/travis-redox2
...
Add cross build targeting Redox to Travis CI
2017-12-09 19:12:06 -08:00
Ian Douglas Scott
75141f0382
Fix cp build on Redox
2017-12-08 21:04:02 -08:00
Alex Lyon
2b4a685286
stdbuf: stop using GNU make as part of the build process
2017-12-08 18:50:18 -08:00
Alex Lyon
75f11e9635
Handle SIGPIPE correctly and autogenerate main() for each util
2017-12-08 15:05:07 -08:00
Alex Lyon
ecdafd830f
stdbuf: fix install on Macs
2017-11-18 21:54:01 -08:00
Alex Lyon
4ef2ef29cd
Fix broken tests due to updating Cargo.lock
2017-11-18 17:52:28 -08:00
Alex Lyon
8c846e2aa9
stdbuf: build shared library on Macs
2017-11-18 17:37:37 -08:00
Alex Lyon
de07c6218b
stdbuf: build the shared library again and fix the Makefile
2017-11-18 17:37:32 -08:00
Alex Lyon
4e034b02bd
Merge pull request #1076 from emielbeinema/remove-rust-crypto
...
Replace rust-crypto
2017-11-18 15:06:39 -08:00
Emiel Beinema
1e7ebcb9e1
hashsum: use macro for Digest implementation
2017-11-18 13:06:11 +01:00
Emiel Beinema
5d0c8895d9
hashsum: replace rustc_serialize with hex crate
2017-11-18 13:06:11 +01:00
Emiel Beinema
ff1ef82d84
hashsum: clean up and lock new dependencies
2017-11-18 13:06:11 +01:00
Emiel Beinema
b425d03a6b
hashsum: replace rust-crypto crate
2017-11-18 13:06:07 +01:00
Emiel Beinema
0944f7bf6d
hashsum: introduct local Digest trait
2017-11-18 13:05:59 +01:00
Alex Lyon
fc0e4cb98b
Merge pull request #1090 from shutefan/chmod-cleanup
...
chmod: avoid passing all args through function hierarchy
2017-11-15 13:12:12 -08:00
Alex Lyon
f7b97dc3d4
Merge pull request #1089 from flyrry/fix_env
...
fix --help and --version
2017-11-15 13:06:31 -08:00
Nathan Ross
517a263e25
Merge pull request #1088 from flyrry/cleanup_help
...
make cp print usage correctly
2017-11-14 17:55:31 -05:00
Nathan Ross
4f3a1772cb
Merge pull request #1091 from ykrivopalov/numfmt
...
Add numfmt
2017-11-14 17:54:00 -05:00
Gerald E Butler
0268cf75cd
Added a check to see if the input file/path that ls is run on when using -l or other long options, that if the path part ends with '/' then it does not show it as a soft-link if it is a soft-link but, instead shows the directory contents of the directory the soft-link points to - see https://github.com/uutils/coreutils/issues/1093
2017-11-13 21:34:40 -05:00
Yury Krivopalov
b2ad51839b
Add numfmt
2017-11-09 00:23:24 +03:00
shutefan
26b52f7604
chmod: avoid passing all args through function hierarchy
2017-11-01 18:15:54 +01:00
Sergei Mironenko
f0aa68aa1e
fix --help and --version
2017-10-28 17:42:40 +03:00
Sergei Mironenko
d8c75e5ae4
make cp print custom usage only once
2017-10-25 19:40:02 +03:00
Valentin Lorentz
fe87116431
Make 'yes' 1000 times faster.
2017-10-21 21:23:06 +02:00
Alex Lyon
f2b952db54
Merge pull request #1082 from flyrry/finish_basename
...
basename: add -a, -s and -z flags
2017-10-09 11:33:06 -07:00
Sergei Mironenko
0b5a2c8743
basename: add -a, -s and -z flags
2017-10-09 11:02:12 +03:00
Alex Lyon
8ed510d49a
Merge pull request #1080 from shutefan/add-truncate-to-tr
...
tr: add truncate flag
2017-10-07 15:55:51 -07:00
Alex Lyon
42be38f98f
Merge pull request #1078 from shutefan/fix-warnings-in-cp
...
cp: fix compiler warnings
2017-10-07 15:52:26 -07:00
shutefan
4a96b56d60
cp: keep --preserve related code but ignore "unused" warnings
2017-10-06 21:54:00 +02:00
shutefan
ddbfafa684
tr: add truncate flag
2017-10-06 01:09:17 +02:00
shutefan
14160cab86
mv: split up uumain
2017-10-06 01:09:06 +02:00
shutefan
e1d41b84f3
travis: fix compiler warnings for 1.22
2017-10-06 00:49:43 +02:00
Alex Lyon
618531b366
Merge pull request #1079 from shutefan/add-quiet-flag-to-tail
...
tail: suppress headers when --quiet flag is used
2017-10-05 14:43:12 -07:00
shutefan
bf2a591b0a
tail: suppress headers when --quiet flag is used
2017-10-05 21:25:21 +02:00
shutefan
82d6d24a97
cp: cast st_ino and st_nlink to u64
2017-10-05 20:34:08 +02:00
shutefan
83d25c0c70
cp: cast nNumberOfLinks to u64
2017-10-04 23:17:11 +02:00
shutefan
c20ce9bf74
cp: fix compiler warnings
...
Fixes seven compiler warnings in cp.rs:
- unused imports: `c_char`, `c_int`
-> removed
- value assigned to `inode` is never read
-> no more default value, immutable
- value assigned to `nlinks` is never read
-> no more default value, immutable
- unused variable: `src_path`
-> removed
- unused `std::result::Result` which must be used
-> only in error on unsupported platforms (Windows) which is
already handled with #[cfg(unix)]
- variable `preserve_context` is assigned to, but never used
-> removed
- value assigned to `preserve_context` is never read
-> see above, remove
2017-10-04 21:43:06 +02:00
Ian Douglas Scott
1a28a48ca3
Merge branch 'master' into expr-regex
2017-10-01 10:09:06 -07:00
Alex Lyon
ab259194f3
Merge pull request #1066 from Matt8898/master
...
cp: add support for --attributes-only and setting timestamps, links and xattrs
2017-10-01 01:43:09 -07:00
Yury Krivopalov
ac375d8b7d
tr: add squeeze option
2017-09-21 22:15:05 +03:00
Yury Krivopalov
b4d8265a07
tr: generaze translation
2017-09-21 22:15:01 +03:00
Yury Krivopalov
c59e375c7a
tr: use as_bytes on whole output string
...
On my environment on 1MiB file with this fix tr takes 30ms,
instead of 44ms without fix.
2017-09-21 22:14:56 +03:00
Matt8898
e33de238ca
cp: add support for --preserve=all.
2017-09-13 16:21:33 +02:00
Matteo Semenzato
6476f6e616
cp: add support for preserving links on windows.
2017-08-23 15:20:23 +02:00
Matt8898
f7072b7dfe
cp: add support for preserving links on unix.
2017-08-19 13:43:37 +02:00
Matt8898
4cb727f80b
cp: Add support for preserving xattrs.
2017-08-19 13:42:44 +02:00
Matt8898
6d3e9eabe4
cp: add support for --preserve.
2017-08-19 13:42:44 +02:00
Matt8898
38dd8c5836
cp: use filetime to set timestamps.
2017-08-19 13:42:44 +02:00
Matt8898
03432db951
Added support for preserving timestamps.
2017-08-19 13:42:44 +02:00
Matt8898
48ae9b64ba
cp: add support for --attributes-only.
2017-08-19 13:42:44 +02:00
Ian Douglas Scott
2853905ebc
install: Fix verbose mode
...
- Do not mark as unimplemented
- Use ascii quotes
- Print newline
2017-08-14 13:16:50 -07:00
Ian Douglas Scott
79d5d14d11
Make install work on Redox, by using fs::set_permissions
...
This is the same change I made earlier to chmod
2017-08-12 15:20:50 -07:00
Ian Douglas Scott
de4bee2321
mktemp fix for Redox
2017-08-12 15:17:37 -07:00
Ian Douglas Scott
13d97ee1cc
Correct behavior of cp -r with non-existent dest
2017-08-09 15:35:13 -07:00
Alex Lyon
c827795d17
Merge pull request #1056 from Matt8898/master
...
cp: add support for --reflink.
2017-07-28 23:34:47 -07:00
Matt8898
a73c74ecbc
cp: add support for --reflink.
2017-07-28 10:42:21 +02:00
mpkh
61b15f5c1c
Merge pull request #1061 from Arcterus/ls-fix
...
ls: fix line that was forgotten in #1057
2017-07-27 11:40:08 +04:00
mpkh
678cb5f81a
Merge pull request #1060 from Arcterus/rm-refactor
...
rm: massive refactor
2017-07-27 11:29:04 +04:00
Alex Lyon
86aa1eb47a
ls: fix line that was forgotten in #1057
2017-07-27 00:09:42 -07:00
Alex Lyon
b39689ac37
rm: massive refactor
2017-07-26 23:21:23 -07:00
Alex Lyon
4a5b76f678
Merge pull request #1057 from ids1024/ls
...
Fix ordering of ls -t, which was backwards
2017-07-26 21:18:00 -07:00
Ian Douglas Scott
3c3f5ab2a3
Fix ordering of ls -t, which was backwards
2017-07-26 20:57:44 -07:00
Ian Douglas Scott
b9446c0766
Make ls build on Redox
2017-07-25 16:26:36 -07:00
Ian Douglas Scott
99af79a7fa
Cast umask result, and comment about Redox
2017-07-23 17:28:16 -07:00
Ian Douglas Scott
d8494974bc
Make chmod use std where possible instead of libc; compile for Redox
2017-07-22 20:46:15 -07:00
Matt8898
32bd2843d5
cp: add support for --update
2017-07-22 12:03:26 +02:00
Joshua Miller
7dafb649d5
implement many copy flags
...
- Refactored towards extensibility
2017-07-16 19:20:07 -05:00
Joshua Miller
e8073d2596
pin dependencies
2017-07-15 15:16:09 -05:00
Alex Lyon
7ef27acb05
Merge pull request #1046 from Matt8898/cp
...
cp: Add -r flag
2017-07-02 14:12:08 -07:00
Alex Lyon
0c3a816148
expr: update onig to compile on Windows
2017-06-29 21:25:40 -07:00
Alex Lyon
7cfe0465ee
Update for changes in regex
2017-06-29 20:59:20 -07:00
Arcterus
9abc3208d3
expr: implement regular expressions
2017-06-29 20:58:16 -07:00
Alex Lyon
eb75085595
Merge pull request #1035 from shinh/ln
...
ln: Fix how it selects the form
2017-06-29 20:33:33 -07:00
mpkh
ee9013215b
Merge pull request #1044 from Shnatsel/fnv-hash-map
...
tr: use FnvHashMap instead of default HashMap backed by SipHasher
2017-06-02 13:56:13 +00:00
Matt8898
f4ea1a9cc5
cp: added -r/--recursive flag
2017-06-02 13:19:33 +02:00
Hiroki Noda
a30d732463
nproc: fix conditional compilation
2017-05-29 12:08:47 +09:00
Hiroki Noda
5e95d3752e
nproc: fix comment position
2017-05-29 11:36:26 +09:00
Hiroki Noda
57dd3703d0
nproc: fix compilation on windows
2017-05-29 10:06:45 +09:00
Hiroki Noda
adb39d411b
nproc: fix windows
2017-05-29 09:41:29 +09:00
Hiroki Noda
3a4b5ff8ed
nproc: counts CPU cores via affinity mask if available on Linux
...
* Upgrade num_cpus crate to 1.5.0.
* Use sysconf(_SC_NPROCESSORS_CONF) when `--all` query given.
2017-05-29 08:56:33 +09:00
Sergey "Shnatsel" Davidoff
44cf7798bd
tr: use FnvHashMap instead of default HashMap backed by SipHasher. FnvHashMap is much faster for small inputs like intergers, and we literally have a hashmap with chars as keys
2017-05-26 18:49:39 +03:00
Sergey "Shnatsel" Davidoff
c47ce19620
tr: use streaming instead of buffering the entire input and output
2017-05-24 17:58:04 +03:00
Matt8898
2a045fae37
uucore: add support for optflagmulti and optmulti.
2017-04-22 21:36:01 +02:00
theGeekPirate
589847aa2f
Ensure "Linux" not targeted instead of "Linu" =D
...
#[cfg(not(target_os = "linux"))] spelling mistake
2017-04-19 00:18:29 -07:00
Shinichiro Hamaji
d556c9e398
ln: Fix how it selects the form
...
ln had a bunch of problems:
1. `ln -s target` didn't work (2nd form in help).
2. `ln -t tmp` wasn't an error. We should check if files are
empty first.
3. `ln -s file dir` didn't create dir/file.
4. `ln -s -T file dir` was removing `dir`.
5. Test cases for 4 say this is for compatibility with GNU
coreutils but I couldn't find this feature.
2017-04-09 02:32:57 +09:00
Shinichiro Hamaji
416c2b7f89
rm: Remove invalid symlinks
...
Checking with file.exists() was not good for this purpose as
Path::exists() returns false for invalid symlinks.
2017-04-09 01:33:07 +09:00
Alex Lyon
5f1cb07df8
Merge pull request #1033 from shinh/rm-dir-link
...
rm: Remove symlinks to directories without -r
2017-04-03 08:35:37 -07:00
Shinichiro Hamaji
bb1d8956eb
rm: Fail when symlink_metadata() fails
2017-04-04 00:10:45 +09:00
Alex Lyon
a2de3997b9
Merge pull request #1031 from shinh/mkdir-dup
...
mkdir: Fix the behavior for existing files
2017-04-02 20:50:22 -07:00
Alex Lyon
df960d211c
Merge pull request #1034 from shinh/ls-n
...
ls: Implement -n option
2017-04-02 20:46:13 -07:00
Shinichiro Hamaji
36d26c0f0d
ls: Implement -n option
2017-04-02 13:11:48 +09:00
mpkh
a304d9e97e
Merge pull request #1032 from shinh/ln-basename
...
ln: Use basename when target directory is specfied
2017-04-01 22:11:33 +04:00
Shinichiro Hamaji
4f6841df32
rm: Remove symlinks to directories without -r
...
Path::is_dir follows symlinks so it returns true for symlinks
to directories. Use symlink_metadata instead so you can remove
symlinks to directories without -r flag.
2017-04-01 23:45:34 +09:00
Shinichiro Hamaji
fc235e360e
mkdir: Fix the behavior for existing files
...
Currently, mkdir always succeeds for existing files and it
even modifies their mode. With this change, only mkdir -p for
existing directories will be allowed.
2017-04-01 23:43:13 +09:00
Shinichiro Hamaji
47acbb0e82
ln: Use basename when target directory is specfied
...
The following should work, but without this patch, it tries
to create the link as x/y and it fails with EEXIST.
$ mkdir -p x/y
$ ln -s -t . x/y
2017-04-01 23:22:14 +09:00
Shinichiro Hamaji
e4ad79f46e
ls: Implement -B option
2017-04-01 19:47:52 +09:00
Anthony Deschamps
41d1dfaf44
Partial implemantion of date.
2017-03-26 23:43:29 -04:00
Jian Zeng
daba29b832
Merge pull request #1026 from evestera/cat-numlines-notrailing
...
cat: fix for numbered lines w/ no trailing newline
2017-01-23 06:39:31 -06:00
Erik Vesteraas
21d9152cfe
cat: Collect output state into a struct
2017-01-23 11:07:47 +01:00
Erik Vesteraas
81996915df
cat: fix for numbered lines w/ no trailing newline
...
Make at_line_start persist between printing each file. This fixes an
issue when numbering lines in the output and one of the input files
does not have a trailing newline.
2017-01-23 03:34:47 +01:00
Anthony Deschamps
6dc1eb54c0
sort: Implement ignore-case
...
Test included.
2017-01-21 13:30:22 -05:00
Alex Lyon
e0bfbc3c23
Merge pull request #1020 from KeenS/ls-inode
...
ls: implement -i option
2017-01-10 00:34:35 -08:00
Sunrin SHIMURA (keen)
20b336ed3c
remove redundant space
2017-01-10 10:37:34 +09:00
Joshua Miller
133934f7cf
add cat support for unix domain sockets
...
- adds conditional supports for unix domain sockets
- adds unix domain socket test
- adds Results to functions, removing unwraps
- uutils `cat` used to panic on broken stdout pipes (e.g. `cat
/dev/zero | head -c1`). this is fixed in this PR
- updated to exit 0 on success, and 1 if an error occurs.
- adds docstrings
- adds an error log on printing a directory
- adds categorization of other filetypes for extensible
differentiation of behaviors
- adds OutputOptions struct to replace params for extensibility
- adds correct status code on exit
2017-01-08 19:56:35 -06:00
Sunrin SHIMURA (keen)
59e4bc431a
ls: return String, not Option<String>
2016-12-26 12:27:06 +09:00
Sunrin SHIMURA (keen)
8a51ddf6fb
ls: implement -i option
2016-12-25 14:39:29 +09:00
Alexander Batischev
67ac0c13b8
mkdir: trying to create existing dir is fine
...
Fixes #1017 .
test_mkdir_dup_dir asserted that creating an existing directory is an
error, but that's not how GNU coreutils behaves. This has been reported
in #121 , but wasn't fixed (only the `-p` case was).
2016-12-23 18:47:38 +03:00
Alexander Batischev
f2166fed0a
tail: implement --pid. Closes #846 .
...
Kudos to zHz for helping out with Windows API part.
2016-12-22 01:32:09 +03:00
Lei Zhang
a34cd30f54
Enable compilation of ls on Fuchsia.
...
This updates the dependency of pretty-bytes to v0.2.
2016-12-14 23:29:38 -05:00
Lei Zhang
ba244794f0
Enable compilation of more on Fuchisa.
2016-12-08 13:08:17 -05:00
Wim Hueskes
829ea9f445
od: fix od --help
2016-12-04 22:24:36 +01:00
Arcterus
5d9437bcaf
chgrp: remove unwrap() in is_bind_root()
2016-12-01 06:02:58 -08:00
Arcterus
dc6ba887ba
uucore: compile on Windows again
2016-11-30 03:51:49 -08:00
Arcterus
f5fce8dadb
chgrp: detect bind mounted root
2016-11-30 03:50:07 -08:00
Arcterus
3ab82f9a66
uucore: read symlinked directories correctly in resolve_relative_path()
2016-11-30 03:50:07 -08:00
Alex Lyon
c403270ac3
Merge pull request #992 from kevgeniy/master
...
cat utility refactoring
2016-11-30 03:24:05 -08:00
Alex Lyon
04fcd823cc
Merge pull request #1002 from antiagainst/itertools
...
Update dependencies and solve deprecated warnings.
2016-11-30 03:11:43 -08:00
Alex Lyon
7ec754ec1b
Merge pull request #985 from knight42/fix-preserve-root
...
chgrp: fix bug in option --preserve-root
2016-11-30 02:59:19 -08:00
Lei Zhang
7d7fc68dee
Solve compiler warning about using deprecated item.
...
PutBackN::new() is replaced by put_back_n.
2016-11-29 12:57:09 -05:00
Michael Gehring
268fe45f24
Merge pull request #1000 from antiagainst/fuchsia
...
Add a new feature to list all utilities that can compile for Fuchsia right now
2016-11-26 10:01:55 +01:00
Joseph Crail
78d2e8db27
Fix comment spelling
2016-11-25 14:36:56 -05:00
Lei Zhang
59c12433e0
Add Fuchsia as recognized host OS in uname.
2016-11-24 17:30:03 -05:00
Lei Zhang
e37468b630
Turn off utmpx and signals for Fuchsia.
...
Fuchsia uses musl as its libc; musl only has stub implementation
for utmpx. From their wiki, that is deliberately chosen.
Fuchsia doesn't have signals mechanism.
2016-11-24 17:15:43 -05:00
Lei Zhang
a2071c258e
Remove unnecessary dependencies on libc in various utilities.
2016-11-24 11:17:36 -05:00
mpkh
de8d96ff7c
Merge pull request #994 from Will-W/windowsfixes
...
Windowsfixes
2016-11-19 16:34:31 +04:00
kevgeniy
6d13bcf2da
cat: fixed indentation
2016-11-18 22:30:12 +03:00
Will Wykeham
0809dce4a2
Fix a number of Windows build warnings
2016-11-18 13:58:36 +00:00
Will Wykeham
d55e2ee80a
Fix mv build on Windows
2016-11-18 13:58:13 +00:00
Lei Zhang
aaa7274b63
Remove unnecessary dependencies of getopts & libc for utilities.
2016-11-17 17:43:31 -05:00
Alex Lyon
4f5e8f4566
Merge pull request #965 from wimh/od
...
od: implement remaining functionality
2016-11-10 15:13:10 -08:00
Wim Hueskes
2550e0f3c7
od: several small changes after review
...
* update status in README.md
* enable busybox tests
Adding `CONFIG_DESKTOP` and `CONFIG_LONG_OPTS` to busybox config.
These flags also enable other tests, but those utilities are not
included in `TEST_PROGS`. (eg. awk)
* fix whitespace and small issues
* fix Eq imp for FormatWriter on nightly + beta
* fix indention in multifilereader.rs
* fix intermittent errors in tests
2016-11-09 20:26:55 +01:00
Zephiris
0d0087053f
ls: Fix '-aR' recursion.
...
ls with -aR was recursing infinitely becacuse it
added ./.. to every node. I don't see a way to
avoid this except by cloning when that option
is used.
2016-11-05 01:29:55 -07:00
Zephiris
606c1badd2
ls: Change symlink behavior to be more POSIX compliant.
...
Symlink directories are read by default, and symlink targets are listed on
Windows.
2016-11-05 00:22:55 -07:00
Zephiris
ca8f5516e9
ln: Make sure we can symlink directories on Windows.
2016-11-05 00:22:55 -07:00
kevgeniy
0d56009c3a
cat: remove recursion
2016-10-24 20:18:44 +03:00
kevgeniy
6228b06e29
cat: remove libc dependency
2016-10-24 05:23:54 +03:00
kevgeniy
72490ef956
cat: rewrote most part of the code
...
Rewrote cat to eliminate code duplication and make it safe
- UnsafeWriter is replaced by BufWriter
- write_lines (any option except -T and -v) and write_bytes (-T and -v
options) are replaced by single write_lines method. A new method use
``write_to_end``, ``write_tab_to_end`` or ``write_nonprint_to_end``
method to write all symbols untill the end of line in the right way.
- Benchmarking (-n, -T and -v options respectively):
| old (ns/iter) | new (ns/iter) |
| -------------------------- | -------------------------- |
| 6,501,496 (+/- 1,173,481) | 6,683,158 (+/- 373,539) |
| 8,634,023 (+/- 547,595) | 5,408,676 (+/- 715,458) |
| 24,056,507 (+/- 1,177,445) | 30,879,788 (+/- 1,180,598) |
2016-10-24 04:51:40 +03:00
evgeniy
4a2b8e3c52
cat: conditional compilation added
2016-10-18 19:09:36 +02:00
kevgeniy
2060048c79
Fixed and made the comments clearer
2016-10-16 17:13:02 +02:00
evgeniy
dd16c58ab4
cat utility refactoring:
...
- Less if branches
- Unnecessary range variable deleted
- Optional fail-assertion commented
2016-10-16 12:43:23 +02:00
Wim Hueskes
046ff62af6
more: fix build on windows
2016-10-06 23:35:16 +02:00
Wim Hueskes
4f91662057
who: use i64 instead of time_t
...
fixes build on raspberry pi 2 (armv7-unknown-linux-gnueabihf)
2016-09-03 22:18:10 +02:00
Wim Hueskes
99f70ba648
od: implement 16-bit floating point type
2016-09-03 21:47:36 +02:00
Wim Hueskes
fd5879dcf2
od: refactor parse_formats.rs
...
simplified, more but shorter functions
2016-09-02 21:29:58 +02:00
Wim Hueskes
184c4af76d
od: fix zero width user input (-w0)
2016-09-02 21:27:06 +02:00
Wim Hueskes
92fc286b0e
od: refactor uumain into smaller functions
2016-09-02 21:26:43 +02:00
Wim Hueskes
2c24911d9c
od: refactor: create struct for formatting info
...
also properly document the alignment algorithm.
2016-09-02 21:26:22 +02:00
Wim Hueskes
83a1ff404f
od: refactor: create InputDecoder to convert input
...
It reads from the input and provides data conversion functions.
2016-09-02 21:26:00 +02:00
Wim Hueskes
283a29fd2c
od: refactor IntWriter, do not require parameters
...
use macros to define a function for each format so byte_size
and print_width do not have to be provided by the caller.
2016-09-02 21:25:38 +02:00
Wim Hueskes
f2db897c47
od: refactor: reduce arguments of odfunc
...
Pass the input stream itself instead of the parameters required to
open it. Create InputOffset to handle functionality required for
the byte offset.
2016-09-02 21:25:17 +02:00
Wim Hueskes
d705dc46ce
od: improve/extend --help text
2016-09-02 21:24:56 +02:00
Wim Hueskes
2f12b06ba1
od: implement --traditional
2016-09-02 21:24:29 +02:00
Wim Hueskes
26ec46835c
od: implement +size to skip bytes
2016-09-01 00:24:29 +02:00
Wim Hueskes
9e33c3a48c
od: fix command-line parsing of file names
2016-09-01 00:23:34 +02:00
Wim Hueskes
e8eab8d3e8
od: implement ascii dump
2016-09-01 00:23:11 +02:00
Wim Hueskes
cea4297fdf
od: implement --format / -t
2016-09-01 00:20:02 +02:00
Wim Hueskes
d15604b2e4
od: fix and add tests for simple format args
2016-09-01 00:19:37 +02:00
Wim Hueskes
c2d61a294e
od: refactor: separate mod for parse_format_flags
2016-09-01 00:19:15 +02:00
Wim Hueskes
69bde1170d
od: finish multi-byte support
2016-09-01 00:14:50 +02:00
Wim Hueskes
459db47c2b
od: implement --skip-bytes and --read-bytes
2016-09-01 00:14:25 +02:00
Wim Hueskes
2b10cc47ff
od: implement Read for MultifileReader
...
also add tests and fix error handling
2016-09-01 00:14:02 +02:00
Wim Hueskes
c15936ad68
od: fix performance issue with large values of -w
...
like -w100000000 or larger
2016-09-01 00:13:39 +02:00
Wim Hueskes
bd0424fa0c
od: start with multi-byte support
2016-09-01 00:13:21 +02:00
Wim Hueskes
1164b9e118
od: fix file byte offset for non-octal types
...
removed binary offset, added no offset.
2016-09-01 00:12:59 +02:00
Wim Hueskes
24fb6d66c4
od: proper align different sized output
2016-09-01 00:12:37 +02:00
Wim Hueskes
45895be96d
od: use structs to specify possible dump formats
...
remove extra padding too - preparing proper allignment
2016-09-01 00:12:11 +02:00
Wim Hueskes
f7d7beb79b
od: implement --endian
2016-09-01 00:11:52 +02:00
Vladimir Matveev
d18be30c8a
od: add byteorder_io
...
copied from: https://github.com/netvl/immeta/blob/4460ee/src/utils.rs
workaround for: https://github.com/BurntSushi/byteorder/issues/41
2016-09-01 00:11:42 +02:00
Wim Hueskes
4770690823
od: suppress duplicates
2016-09-01 00:11:23 +02:00
Wim Hueskes
80386ef04f
od: split odfunc()
2016-09-01 00:11:02 +02:00
Wim Hueskes
e006a84136
od: refactor: do all printing in odfunc
2016-09-01 00:10:40 +02:00
Wim Hueskes
36b88f268d
od: enable hexadecimal output
2016-09-01 00:10:23 +02:00
Wim Hueskes
e905c2ec71
od: do not panic on invalid user input
...
use macros from uucore where possible
2016-09-01 00:10:02 +02:00
Wim Hueskes
167d7d3ca9
od: implement -w (width)
2016-09-01 00:09:45 +02:00
Wim Hueskes
1b01f02e9e
od: remove trailing spaces in output
...
can't find documentation confirming this behaviour
besides it does not work correctly on all formats
see also uutils/coreutils#922
2016-09-01 00:09:25 +02:00
Wim Hueskes
f45169d37c
od: refactor: split into modules
2016-09-01 00:09:04 +02:00
Wim Hueskes
104f8eb509
od: implement 64-bit floating point output
2016-09-01 00:08:41 +02:00
Wim Hueskes
f53aefa7e9
od: implement 32-bit floating point output
2016-09-01 00:08:25 +02:00
Wim Hueskes
5c495359c1
od: refactor: convert bytes using byteorder crate
2016-09-01 00:08:00 +02:00
Wim Hueskes
3e143217a9
od: refactor sign_extend
...
easier to understand algoritm which does not use unsafe
2016-09-01 00:01:55 +02:00
Wim Hueskes
e0b7ff1953
od: implement --help and --version
2016-09-01 00:01:35 +02:00
Alex Lyon
362cabe1a6
hashsum: implement SHAKE-128 and SHAKE-256
2016-08-30 17:33:18 -07:00
knight42
f8bd9e2a1b
chown,chgrp: fix bug in option --preserve-root
2016-08-29 11:19:15 +08:00
knight42
d0196b82ad
touch: respect -h
2016-08-28 07:12:25 +08:00
knight42
89ac03d1c2
uucore::fs: add fn resolve_relative_path
2016-08-28 00:02:58 +08:00
knight42
136ca4e197
chgrp,chown: fix bug in option --preserve-root
2016-08-28 00:02:58 +08:00
Martin Kysel
23bab3df69
moved more to unix utils, minor review updates
2016-08-23 11:40:09 +01:00
Martin Kysel
a90aec3f1b
add author name
2016-08-23 10:50:45 +01:00
Martin Kysel
7d77b9720d
Initial more implementation
2016-08-23 10:45:51 +01:00
Nathan Ross
ae0e1c4768
Merge pull request #977 from knight42/chgrp
...
Implement chgrp
2016-08-21 06:39:54 -04:00
Knight
9dda0bcd25
chgrp: implemented
2016-08-21 17:04:38 +08:00
Knight
8cba71adb4
chgrp: add entries
2016-08-21 17:04:02 +08:00
Knight
a4bf852207
mv: cleanup the code
2016-08-21 14:57:28 +08:00
mpkh
2981eb5112
Merge pull request #975 from nathanross/normalize-coreopts-squashed
...
DRYer code and more UX consistency through use of coreopts
2016-08-20 18:44:17 +00:00
Nathan Ross
36503a77c7
impl: use coreopts for brevity and consistent UX
2016-08-20 10:07:24 -04:00
Nathan Ross
edc3bf7c08
impl: dryer use of coreopts
2016-08-20 10:07:24 -04:00
Nathan Ross
ee3aaa017f
uucore: allow 'wrong number of arguments' macro to be more precise
2016-08-20 10:07:08 -04:00
Michael Gehring
dcefbd54c6
Merge pull request #974 from knight42/fix-bugs
...
Fix bugs of `pinky` and `who`
2016-08-20 15:16:19 +02:00
Jian Zeng
14a34b48bf
Merge pull request #969 from robertclancy/tail-f-dev-stdin-bug
...
tail: fix bug when following /dev/stdin
2016-08-20 20:25:08 +08:00
Knight
fb53c019b4
who: limit the parts of split host to 2
2016-08-20 20:22:18 +08:00
Knight
34d2224098
pinky: correct the test
2016-08-20 20:22:18 +08:00
Robert Clancy
3a0c23561e
tail: fix bug when following /dev/stdin
...
main panics when following /dev/stdin since /dev/stdin is not seekable.
Check to see if file is seekable and use unbounded_seek if so.
Also `tail -f` with no files should not follow stdin.
2016-08-20 11:47:02 +01:00
Nathan Ross
268b691881
uucore: add support for optflagopt to coreopts
2016-08-20 05:58:36 -04:00
Nathan Ross
cb1b32cda1
uucore: fix utility name in coreopts parsing error messages
2016-08-20 05:58:36 -04:00
Knight
9ecf899e3d
Remove uucore::c_types
2016-08-20 12:12:49 +08:00
Knight
ddf47fab31
groups: use uucore::entries::get_groups instead
2016-08-20 11:59:58 +08:00
Knight
f49ee5b58b
uname: use utsname in libc instead
2016-08-20 11:59:58 +08:00
Knight
ac6bc5886b
arch: use utsname in libc instead
2016-08-20 11:59:58 +08:00
Knight
c63aa19cd1
Add uucore::utsname to get system info
2016-08-20 11:59:58 +08:00
Knight
b6c864b7f3
uucore::process: add functions to obtain uid/gid, euid/egid
2016-08-20 03:24:23 +08:00
Knight
369c2c2d83
id: use uucore::entries
2016-08-20 03:24:23 +08:00
Knight
2b96f8f0c1
chroot: use uucore::entries
2016-08-20 03:10:37 +08:00
Knight
270290efe6
whoami: use uucore::entries
2016-08-20 03:10:36 +08:00
Knight
99f0114450
stat: use uucore::entries
2016-08-20 03:10:36 +08:00
Knight
40e6c5a397
pinky: use uucore::entries
2016-08-20 03:10:36 +08:00
Knight
f66aaa8b78
ls: use uucore::entries
2016-08-20 03:10:36 +08:00
Knight
40e01b94f3
chown: use uucore::entries
2016-08-20 03:10:36 +08:00
Knight
799804e455
Add uucore::entries
2016-08-20 03:10:36 +08:00
Knight
c2fb66dfcb
uucore::utmpx: fix doctest errors
2016-08-20 02:55:17 +08:00
Knight
bc61634dba
tr: use HashMap in stdlib instead of vec_map
2016-08-20 02:25:55 +08:00
Nathan Ross
9d2616442a
Merge pull request #963 from alsuren/sort--merge
...
Implement sort --merge
2016-08-12 20:42:30 -04:00
David Laban
cf93826eee
sort --check refactor to use iterator
...
This allows us to check files without bringing them entirely into
memory. Also makes it easier to find the disorder in
(seq 9; echo 0) | sort --check
(points at the end of the file, where our previous version would
point at the start of the file)
Itertools' .coalesce() was the most useful helper that I could find
for comparing adjacent values in an iterator. It is designed for
implementing things like .dedup(), so the resulting code is a little
unintuitive.
2016-08-13 00:42:44 +01:00
David Laban
3531c46fb8
sort --merge --unique
...
This uses Itertools' dedup() rather than Vec::dedup(). There is probably
a cleaner, more polymorphic way to do this. Suggestions welcome.
2016-08-13 00:42:44 +01:00
David Laban
e1af1520e7
sort: make compare_by honour settings.reverse
...
This allows sort --merge --reverse to work as well.
2016-08-13 00:42:43 +01:00
David Laban
8a8319a337
sort --merge works, but ignores --unique and --reverse
...
FileMerger receives Lines Iterables of the pre-sorted input files
via push_file() It implements Iterator, which yields lines from the
input files in (merged) sorted order. If the input files are not sorted,
then the behavior is undefined.
Internally, FileMerger uses a
std::collections::BinaryHeap<MergeableFile>.
MergeableFile is an internal helper that implements Ord in a way that
BinaryHeap can use (note that we want smallest-first, but BinaryHeap
returns largest first, so MergeableFile::cmp() calls reverse() on
whatever compare_by() returns.
2016-08-13 00:42:43 +01:00
David Laban
76abc7e51d
sort: refactor compare_fns into Settings
...
Also split out a compare_by(a, b, settings) helper function,
which may be used by --merge, later.
2016-08-13 00:26:20 +01:00
Knight
f19d361013
uniq: add test for case-insensitive comparison
2016-08-13 02:04:19 +08:00
Knight
0ea5314ea1
uucore: make libc optional
2016-08-13 02:00:20 +08:00
mpkh
96e8748336
Merge pull request #945 from nathanross/cut-fix-chars-ranges
...
cut: make chars mode use byte mode behavior
2016-08-12 04:56:47 +00:00
nathanross
f2dc230d0e
uucore: coreopts alignment, spacing, and optional usage
2016-08-11 23:20:39 -04:00
Nathan Ross
4a2532fc12
cut: chars mode has same behavior as byte mode
2016-08-11 18:49:20 -04:00
Nathan Ross
2e41535d69
pinky: switch to using new coreopts syntax
2016-08-11 14:37:26 -04:00
Nathan Ross
6ecf9ecf66
who: switch to using new coreopts syntax
2016-08-11 14:37:25 -04:00
Nathan Ross
617e8ca682
arch: switch to using new coreopts syntax
2016-08-11 14:37:25 -04:00
Nathan Ross
e019b2657e
cut: switch to using new coreopts syntax
2016-08-11 14:37:24 -04:00
Nathan Ross
f8509240df
uucore: require version; syntax; summary; longhelp
2016-08-11 14:37:16 -04:00
Knight
87894dedca
who: implemented
2016-08-11 15:41:28 +08:00
Knight
18da533538
uucore::utmpx: change API and fix error
2016-08-11 15:41:12 +08:00
Knight
8c6cd72848
who: add entries
2016-08-11 00:19:26 +08:00
Knight
963ab9d321
users: use uucore::utmpx
2016-08-10 15:24:55 +08:00
Knight
f4c50921d8
uptime: use uucore::utmpx
2016-08-10 15:24:45 +08:00
Knight
77ef1580c2
pinky: use uucore::utmpx
2016-08-10 15:24:29 +08:00
Knight
301a240b73
uucore::utmpx: refine implementation
2016-08-10 15:23:07 +08:00
Knight
163a3a2540
coreopts: fix error when using msg_wrong_number_of_arguments
macro
2016-08-10 13:59:30 +08:00
Knight
23979542af
uucore: conditional enable different features
2016-08-10 13:57:40 +08:00
Knight
c9dde462c7
uucore: export latest libc
2016-08-10 01:00:39 +08:00
Knight
7d5a4dbf20
coreopts: display package name instead of module path
2016-08-10 00:16:06 +08:00
Nathan Ross
5aaff02195
cut: implement zero-terminated option
...
no changes to char mode because removal
of specialized char mode behavior is pending
2016-08-08 20:15:53 -04:00
Nathan Ross
1bf2c82520
arch: use message templates for consistent, original-work error handling
2016-08-08 04:36:33 -04:00
Nathan Ross
d56389aca0
cut: use message templates for consistent error UX
2016-08-08 04:32:48 -04:00
Nathan Ross
3eb9bbf4b5
uucore: CoreOptions error and version message templates
2016-08-08 04:29:11 -04:00
Nathan Ross
c91fd51197
uucore: add message templates
2016-08-08 03:05:36 -04:00
Nathan Ross
ea6b0e55ad
cut: provide original-work help message and option descriptions
2016-08-07 23:16:15 -04:00
Chris Nikkel
cdfdc3a2bd
uniq: add command line option -z for zero terminated input and output
2016-08-06 18:41:47 -07:00
Knight
0d48744c0f
base64: simplified
2016-08-07 00:41:53 +08:00
Knight
9c7ff133dc
base32: implemented
2016-08-07 00:41:52 +08:00
Knight
276d2ccd53
uucore: add module encoding
2016-08-07 00:41:52 +08:00
Knight
7c5416799e
base32: add entries
2016-08-06 11:45:03 +08:00
Corey Farwell
01da600f71
Remove unused variable binding.
2016-08-05 09:06:39 -04:00
Corey Farwell
8fe3eac087
Remove unused imports.
2016-08-05 09:05:12 -04:00
Corey Farwell
eca7543c61
Cleanup logic around wait_or_timeout
exit status handling.
2016-08-04 21:30:50 -04:00
Nathan Ross
a8f5b430df
Merge pull request #935 from frewsxcv/refactor-time
...
Prefer handling `Duration` over `f32` when dealing with times.
2016-08-04 21:17:38 -04:00
Corey Farwell
99fda0b716
Prefer handling Duration
over f32
when dealing with times.
...
Also refactored out usage of the `time` crate in `uucore`.
2016-08-04 19:21:30 -04:00
Knight
d4ac9f22fc
uptime & users: move functions extern to uucore::utmpx
2016-08-04 23:39:30 +08:00
Knight
833d50e192
pinky: obtain correct timestamp
2016-08-04 23:39:30 +08:00
Knight
0020d5c80c
uucore: update utmpx
2016-08-04 22:37:54 +08:00
Corey Farwell
160f7ed5f4
Use setpgid
from libc.
2016-08-04 08:34:33 -04:00
David Laban
6751d2c708
implement sort --stable
...
Made a new function sort_by(lines, compare_fns), which accepts a
list of compare_fns and calls lines.sort_by() with a closure that
calls each compare_fn in turn until one returns something other
than equal.
Default behavior ensures that String::cmp is the last element in the
compare_fns list (referred to as 'last resort' sorting by man sort).
Passing --stable (-s) turns this behaviour off.
Test cases provided for `sort --month` and `sort --month --stable`.
2016-08-03 07:56:40 +01:00
Mark Karasek
59ad388cce
ls: remove dependence on nightly
2016-07-29 07:07:38 -07:00
Mark Karasek
900cd41eb6
ls improvments
...
* Add options -c, -F, -L, -l, -r, -R, -S, -t, -U, --color
* Fix options -a, -A
* Remove unused options
* Output in columns when not using -l
* Output date with -l
2016-07-28 17:41:52 -07:00
Kevin Robert Stravers
5226ba963c
ls: Implement the '-a' (all) flag
...
The all flag did not cull/remove the directory entries starting with a
dot. The help message indicates it should. The implementation checks
if the string starts with a dot whilst also using '-a' to determine
whether a DirEntry is to be printed.
2016-07-27 11:29:27 +02:00
Kevin Robert Stravers
0afe9b347e
ls: Show columns correctly padded according to the largest file and the largest symlink count
2016-07-26 16:05:20 +02:00
mpkh
da0de488e6
Merge pull request #913 from knight42/pinky
...
Implement pinky
2016-07-26 13:38:53 +04:00
Knight
be20d8605d
pinky: add tests
2016-07-26 17:26:22 +08:00
Knight
6fff3a7665
pinky: cleanup the code
2016-07-26 16:44:30 +08:00
Knight
e0c950e145
pinky: canonicalize host
2016-07-26 16:44:30 +08:00
Knight
f91c60ff70
pinky: fix a weird bug:
...
Strings passed to C functions must ends with NULL.
2016-07-26 16:44:30 +08:00
Knight
048daee8b9
pinky: make ci happy
2016-07-26 16:44:30 +08:00
Knight
fe952d90d8
pinky: iterate over utmp structs using getutxent()
2016-07-26 16:44:29 +08:00
Knight
1056542dd3
uucore::utmpx: revert the changes
2016-07-26 16:44:29 +08:00
Knight
3ed49033b7
pinky: implement short format
2016-07-26 16:44:25 +08:00
Knight
7fb3eef5e5
pinky: implement long format
2016-07-26 16:44:25 +08:00
king6cong
ff7d2bae16
skip directory tail
2016-07-23 23:03:00 +08:00
Jeremy Neptune
a3004fbbff
cp: added -v/--verbose flag
...
I forgot that -v refers to "verbose" and not "version"
when making earlier changes. So I fixed that and for
good measure added the verbose flag anyway.
2016-07-15 14:41:50 -04:00
Jeremy Neptune
cc57ce7699
cp: added -T/--no-target-directory flag
2016-07-15 14:08:04 -04:00
Jeremy Neptune
5e03b7c75d
cp: Added -t flag, and fixed path bug for source files.
...
* Added flag -t/--target-directory
* No longer assumes that the source arguments are files in the CWD (in other words, can copy files from directories other than CWD)
2016-07-15 13:15:05 -04:00
Ben Eills
28d1de1de0
Fix type synonym relaiance which breaks some rusts
2016-07-13 15:51:41 +02:00
Ben Eills
fa2145bb84
Allow specification of mode strings for install
...
We now accept symbolic and numeric mode strings using the
--mode or -m option for install. This is used either when
moving files into a directory, or when creating component
directories with the -d option. This feature was designed
to mirror the GNU implementation, including the possibly
quirky behaviour of `install --mode=u+wx file dir`
resulting in dir/file having exactly permissions 0300.
Extensive integration tests are included.
This chnage required a higher libc dependency.
2016-07-13 15:29:24 +02:00
Ben Eills
b15fff6269
Implement creation of component directories (-d option)
...
Tested in two integration test:
- One creating three component directories
- One trying to create an already existing directory
2016-07-13 12:56:30 +02:00
Ben Eills
823ffbd1dd
Copy rather than move files
...
Test this with one integration test. Also document functions
and add an '(unimplemented)' marker to some arguments in help.
2016-07-13 12:27:11 +02:00
Ben Eills
a5d97323db
Test for unimplemented command line arguments
...
We check if the user has given one of the (many)
not yet implemented command line arguments. Upon
catching this, we display the specific transgressor
to stderr and exit with return code 2.
This behaviour is tested in one new integration test.
2016-07-13 10:37:08 +02:00
Ben Eills
8a5719561d
Implement basic installation of file to directory
...
Bare minimum functionality of `install file dir` implemented.
Also added TODO markers in code for outstanding parameters
and split main function into smaller logical chunks.
2016-07-12 22:58:44 +02:00
Ben Eills
e72ec4a5bb
Implement skeleton install utility
...
Add install utility skeleton source, based on
mv, including the getopts setup mirroring
GNU's `man install` documentation. Also
add a single test and build system code.
2016-07-12 20:56:21 +02:00
mpkh
61cf4e4fba
Merge pull request #906 from knight42/chown
...
Implement chown
2016-07-10 19:01:03 +04:00
Knight
197e7787a8
chown: follow symlinks correctly
2016-07-10 21:32:07 +08:00
Smigle00
35fec95d60
arch: add new utility
...
Signed-off-by: Smigle00 <smigle00@gmail.com>
2016-07-10 00:48:10 +05:30
Knight
7e4a708e7c
chown: refactor
2016-07-04 22:50:22 +08:00
Knight
d4b2766c4b
chown: Add crate walkdir
2016-06-27 23:22:13 +08:00
Knight
04d7f81fd3
chown: Almost done
...
TODO:
* [ ] Describe changes according to verbosity
* [ ] More tests
* [ ] Clean up the code
2016-06-22 21:40:31 +08:00
Knight
59ed78209a
chown: Add mod passwd
2016-06-22 21:39:01 +08:00
Knight
123175d577
chown: Add main.rs
2016-06-22 21:37:40 +08:00
Knight
69beb787d1
chown: Add entries
2016-06-22 21:36:50 +08:00
Knight
7423c5e644
chmod: fix #831
2016-06-19 22:52:56 +08:00
Neel Kowdley
519c1caa23
add verbose flag to tail
2016-06-18 14:44:05 -04:00
Heather
3a3fbc2840
Merge pull request #901 from knight42/mktemp-dir
...
Improve mktemp
2016-06-18 18:16:22 +04:00
Knight
bb3536bf14
mktemp: respect quiet option
2016-06-18 17:54:52 +08:00
Knight
c53fa53c75
mktemp: rustfmt
2016-06-18 17:54:52 +08:00
Knight
c6897da7f0
mktemp: make temp dir
2016-06-18 17:54:52 +08:00
Heather
2c65aad3cf
Merge pull request #900 from knight42/reorganize-tests
...
Reorganize tests
2016-06-17 19:45:50 +04:00