Commit Graph

127 Commits

Author SHA1 Message Date
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