Commit Graph

1661 Commits

Author SHA1 Message Date
FRIGN
79e8e330cb Fix wc(1) output for large files
Previously, we used the System V output format:
	"%7d%7d%7d %s\n"
The problem here is, that if any number has more than six digits, the
result looks like one big number, as we don't mandate spaces.

POSIX says the output format should rather be
	"%d %d %d %s\n"
but in this case we wouldn't get consistent results.

To serve both camps, I changed it to the following:
	"%6d %6d %6d %s\n"
This won't change the output for normal values, but also
prevent the output of large files to be ambiguous.
2016-02-24 14:45:20 +00:00
Mattias Andrée
a392cd475e add sha512-224sum (SHA512/224) and sha512-256sum (SHA512/256)
Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-24 10:40:57 +00:00
Mattias Andrée
ae1da536bb add sha224sum and sha384sum
Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-24 10:15:16 +00:00
FRIGN
6adb9b8ccd Fix compilation error 2016-02-21 08:52:48 +00:00
FRIGN
0d97bd3f57 Change the note in printf.1 on octal escapes 2016-02-21 08:52:48 +00:00
FRIGN
70adb1252d Do a range check on the resulting octal 2016-02-21 08:52:48 +00:00
FRIGN
bbe10559e6 Remove the octal note in printf.1 2016-02-21 08:52:48 +00:00
FRIGN
41a600e1b8 Allow \0ooo octal escapes
Yeah well, the old topic. POSIX allows \0123 and \123 octals in
different tools, in printf, depending on %b or other things.
We'll just keep it simple and just allow 4 digits. the 0 does not make
a difference anyway.
2016-02-21 08:52:48 +00:00
Lucas Gabriel Vuotto
bbacab561c arg.h: fixed argv checks order
This prevents accessing to a potentially out-of-bounds memory section.

Signed-off-by: Lucas Gabriel Vuotto <l.vuotto92@gmail.com>
2016-02-20 08:23:57 +00:00
Quentin Rameau
ee8701d501 ls: check for the index size before using it in visit()
Thanks to k0ga for noticing it!
2016-02-18 14:18:49 +00:00
Quentin Rameau
1024369f2d ls: make the opendir() warning message more consistent
Print the total file path in the warning message.
2016-02-18 14:17:21 +00:00
Quentin Rameau
ac05587385 ls: set a return error code when skipping an already visited path. 2016-02-18 14:17:21 +00:00
Quentin Rameau
340b163563 ls: do not exit when a directory isn't accessible
Just print a warning and process next item instead,
and return 1 to report this error.
2016-02-18 11:31:58 +00:00
sin
764efb7e54 Add missing .El to xinstall.1 2016-02-18 10:56:42 +00:00
Quentin Rameau
bd88854850 install: treat target as file by default instead of dir
When using 'install foo bar', bar should be treated as a file copy of
foo, not a directory to be created and into which install foo.
2016-02-18 10:48:16 +00:00
pekka.jylha.ollila@gmail.com
bb83eade39 Fix showing directories when -R flag is set in ls(1)
Here's a better version of the patch.
When the R flag is used with a single directory, the given directory name is
omitted. With multiple directories each directory name is listed.
Directories that start with './' and '../' are now also printed.
2016-02-17 19:49:07 +00:00
Eivind Uggedal
b97839751b install: only create parent dirs to dest given -D
Given the following commands:

    touch 1.txt; install -D 1.txt d/2.txt
    find d

The result without this fix:

    d
    d/2.txt
    d/2.txt/1.txt

The result with this patch applied:

    d
    d/2.txt
2016-02-17 08:59:19 +00:00
Mattias Andrée
4f701bcd8a tsort: clean up
Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-17 08:56:54 +00:00
sin
1f6f1a8f4b Forgot to bump date for sort(1) manpage 2016-02-17 08:43:15 +00:00
sin
65159194fb Mark sort(1) as POSIX compliant 2016-02-17 08:39:11 +00:00
sin
1e81e214d6 tsort: Minor style fix 2016-02-17 08:28:32 +00:00
Mattias Andrée
b44d4d8edd Add tsort(1)
Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-17 08:24:53 +00:00
pekka.jylha.ollila@gmail.com
fad1d35357 Add -d, -f and -i flags to sort(1)
Here's the patch with updated manpage and usage().
2016-02-16 09:56:48 +00:00
Eivind Uggedal
ae52820891 tar: make remove(3) non-fatal when extracting
Handles special cases like: .
2016-02-15 14:27:10 +00:00
Eivind Uggedal
e13f571d11 tar: support -f - for stdin/out 2016-02-15 10:20:12 +00:00
tty0
b107489bf2 ls: only display directory headers when more than one directory is specified 2016-02-15 09:59:09 +00:00
Mattias Andrée
d9c85a2d79 Makefile: add sbase-box-uninstall rule
Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-15 09:49:54 +00:00
sin
6ca2a046f8 Fix uninstall target
The installed tool is called install not xinstall.
2016-02-15 09:44:27 +00:00
sin
835020b4bf Add Eivind Uggedal to LICENSE 2016-02-15 09:42:59 +00:00
Eivind Uggedal
3c2f8b0cfa tar: don't change modes for hardlinks on extraction
Changing timestamps, modes and ownership of hardlinks
makes no sense.
2016-02-15 09:41:58 +00:00
Eivind Uggedal
2f128ab050 install: bsd make compatibility 2016-02-15 09:41:58 +00:00
Mattias Andrée
db952ed18c New command with corresponding man page. Includes the flags:
-s strip binary
-d create directory
-D create missing directories
-t DIR target directory
-m MODE permission bits
-o USER set owner
-g GROUP set group

Installed files are copied, and default mode is 755.

Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-15 09:41:58 +00:00
izabera
038dffaa50 fix problems in sed
s/x/y/w file          <- chomp whitespace
s/x/y/1p              <- don't ignore first char after number
s[x[y[                <- [ is a valid delim
2016-02-14 15:05:18 +00:00
Mattias Andrée
60ef169a18 Makefile: uninstall [ command in the uninstall rule
Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-12 09:50:24 +00:00
sin
73c8dfafe9 Fix pathchk manpage regarding exit status
Also, rename _attr to st.
2016-02-11 10:09:38 +00:00
sin
efabd56535 Minor cleanup for pathchk(1) 2016-02-11 10:01:58 +00:00
Mattias Andrée
b445614f70 Add pathchk(1)
New command, including man page.
UTF-8 compatible and should be POSIX-compliant.

Signed-off-by: Mattias Andrée <maandree@kth.se>
2016-02-11 10:01:58 +00:00
Roberto E. Vargas Caballero
cfc37be486 Do not try to rematch patterns with ^ or $
It is impossible to rematch a pattern which has one (or both)
of these operators, so the simplest solucion is detect them
while we are compiling the regular expression and break the
match loop after the first iteration.
2016-01-23 08:38:03 +00:00
sin
0d955d3f23 grep: Change match any pattern to "^" 2016-01-20 17:27:35 +00:00
sin
0e9eee4fa3 Revert "If we have a match any pattern also match against blank lines"
Doesn't really make sense for grep . to match blank lines.
2016-01-20 15:06:05 +00:00
Roberto E. Vargas Caballero
cf868c8eeb Stop matching when lastmatch points to '\n'
This situation happens with something like s/$/test/,
where rm_so == rm_eo == 0. Without this check, ed
keeps looping forever.
2016-01-11 15:37:58 +00:00
Roberto E. Vargas Caballero
0b117ab6c0 Fix pattern substitution
Ed was falling doing substitution different of the first or all
(s//%/, s//%/\1, s//%/g), because it was not adding the matches
which were not going to be substituted.
2016-01-11 15:37:58 +00:00
Roberto E. Vargas Caballero
54ad6d512b Fix rematch()
Rematch() was incremnenting the last match always, even in the
cases when it was not matching anything. This patch detects
this situation and it updates it only when there is a match.
2016-01-11 15:37:58 +00:00
Roberto E. Vargas Caballero
78fd6ff239 Handle explicitly the case of line 0
Line 0 is a special line added to allow operations with
empty buffers, and we have to ensure that it is not going
to match any regular expression. The code was written in
a way that this case was handle implicitily, but this
solution was working only for the first file loaded in
ed, while the second file loaded in ed got a line with
a dirty seek field. This solution check explicitily
against invalid lines passed to makeline(), which
allows to simplify the common case.
2016-01-11 15:37:58 +00:00
sin
0fb1c6fd60 ed: Remove useless newlines 2016-01-11 15:37:58 +00:00
Quentin Rameau
eeeb7a6e53 grep: make E and F flags mutually exclusive
Don't make F the priority flag when both E and F are given, instead use
the last one.
2016-01-05 13:54:17 +00:00
sin
16159a61ac ed: Use snprintf() for constructing the scratch filename 2016-01-02 10:33:56 +00:00
sin
3300d5d47a ed: Use strlcpy/strlcat to construct the scratch filename 2016-01-02 09:46:48 +00:00
Roberto E. Vargas Caballero
36e2bdf517 ed: Use TMPDIR to locate the temporal file
The current behaviour of storing the scratch file in
the current directory is a bit painful, because it
generates files in all the directories where you
execute ed. BSD ed uses TMPDIR for this purpouse,
so if the user wants to put the scratch file in
other place different of /tmp it only has to set
this variable.
2016-01-02 09:46:48 +00:00
Roberto E. Vargas Caballero
cf0a0fc940 ed: Fix error introduced in b19d708
This patch introduced init() function, which removed the initialization
code of savfname in doread, but this is incorrect, because savfname
can be initialized with a r command if savfname is empty.
2016-01-02 09:46:48 +00:00