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