Tai Chi Minh Ralph Eastwood
0cf6a18f6f
recurse: change char follow to int follow
2015-02-16 15:53:58 +00:00
Tai Chi Minh Ralph Eastwood
82bc92da51
recurse: add symlink derefencing flags -H and -L
2015-02-16 15:53:55 +00:00
FRIGN
d7a438b2f8
Add \e, \", \' and hex-escapes (\xH[H]) to unescape()
...
So the users control the program, and the program doesn't
control the users.
2015-02-14 22:55:37 +01:00
sin
113caaf677
Make getlines() less verbose
...
Thanks Roberto for the suggestion.
2015-02-12 14:34:07 +00:00
Jakob Kramer
c0a3c66a84
add estrndup
2015-02-11 01:17:21 +00:00
Jakob Kramer
08e93dd4f5
add en*alloc functions
2015-02-11 01:17:21 +00:00
sin
51680535ce
getlines: Style fix
2015-02-11 00:27:30 +00:00
Jakob Kramer
66a5ea722d
getlines: last line of file should always have a newline
...
This is a useful behavior if you want to reorder the lines,
because otherwise you might end up with originally two lines
on one, e.g.
$ echo -ne "foo\nbar" | sort
barfoo
2015-02-11 00:25:48 +00:00
Tai Chi Minh Ralph Eastwood
af8be7f92c
cp: add symlink deref flags -H and -L for cp and mv
2015-02-09 22:54:52 +00:00
FRIGN
360a63769c
Use strtonum and libutf in test(1), refactor code and manpage
...
and mark it as finished in README.
2015-02-09 22:21:23 +01:00
sin
c0d36e0064
Switch concat() to use fread() and fwrite()
...
We should never mix FILE I/O with raw I/O. Going from raw I/O
to FILE I/O is fine but doing the opposite is extremely tricky and
only works under certain conditions (unbuffered stream + no call
to ungetc()).
2015-02-09 15:24:03 +00:00
FRIGN
fd562481f3
Convert estrto{l, ul} to estrtonum
...
Enough with this insanity!
2015-01-30 16:52:44 +01:00
sin
ab149deebe
Use errstr as filled by strtonum() because it is more informative
2015-01-30 13:59:43 +00:00
sin
e5c1f0f372
Add estrtonum() as well
2015-01-30 13:56:45 +00:00
sin
add25a464f
Add strtonum() in preparation to nuking estrtol() and friends
2015-01-30 13:48:33 +00:00
sin
b90ca482a0
Add estrtoul()
2015-01-30 13:24:41 +00:00
FRIGN
e60885699c
Fix return values in rm(1) and mv(1)
...
by setting rm_status to 1 if removing 1 file in the list fails.
Extend this to mv_status in mv(1).
2015-01-30 12:45:54 +01:00
FRIGN
38adcf0c08
Fix tabs in libutil/unescape.c
2015-01-29 21:59:27 +01:00
FRIGN
b8b9d983c8
Add unescape() to libutil
...
formerly known as resolveescapes(), it is of central use to numerous
programs.
This drops a lot of LOC.
2015-01-29 21:52:44 +01:00
sin
bc9c752df5
Import strsep() from musl libc
2015-01-25 17:48:11 +00:00
Michael Forney
e14e0becce
cp: Rename -d option to -P
...
The -d option is a GNU extension and is equivalent to its "-P
--preserve=links" options.
Since we don't implement the --preserve=links functionality anyway (it
means preserve hard links between files), just call it -P, which is
specified by POSIX.
Additionally, there is no need to check for cp_Pflag again before
copying the symlink itself because the only way the mode in the stat
will indicate a symlink is if we used lstat (which we only do if -P is
specified).
2014-12-08 10:02:56 +00:00
sin
875f433666
Argh - include strings.h
2014-11-21 00:03:30 +00:00
sin
ce86a05f36
Import strcasestr() from musl and remove -D_GNU_SOURCE
2014-11-20 23:46:06 +00:00
FRIGN
1436518f9d
Use < 0 instead of == -1
2014-11-19 20:09:29 +00:00
sin
9b38355ae8
Break out if stat fails on the source file in cp(1)
...
Save one level of indentation.
2014-11-19 15:08:57 +00:00
Evan Gates
84b08427a1
remove agetline
2014-11-18 21:05:28 +00:00
sin
027052f5e5
Rename util/ to libutil/
2014-11-17 16:48:34 +00:00