sbase/libutil
FRIGN 58098575e7 Audit cp() in libutil
1) Rename cp_HLPflag -> cp_follow for consistency.
2) Use function-pointers for stat to clear up the code.
3) BUGFIX: TERMINATE THE RESULT BUFFER OF READLINK !!!
   It's something I noticed earlier and it actually lead to some
   pretty insane behaviour on our side using glibc (musl somehow
   magically solves this).
   Basically, symlinks used to contain the data of the file they
   pointed to. I wondered for weeks where this came from and now
   this has finally been solved.
4) BUGFIX: Do not unconditionally unlink target-files. Even GNU
   coreutils do it wrong.
   The basic idea is this:
   If fflag == 0 --> don't touch target files if they exist.
   If fflag == 1 --> unlink all and don't error out when we try
                     to unlink a file which doesn't exist.
5) Use estrlcpy and estrlcat instead of snprintf for path building.
6) Make it clearer what happens in preserve.
2015-03-19 17:57:12 +01:00
..
concat.c Audit concat() in libutil 2015-03-18 22:58:42 +01:00
cp.c Audit cp() in libutil 2015-03-19 17:57:12 +01:00
crypt.c Make already audited tools argv-centric instead of argc-centric 2015-03-02 14:19:26 +01:00
ealloc.c add estrndup 2015-02-11 01:17:21 +00:00
enmasse.c Remove apathmax() and implicitly agetcwd() 2015-03-18 15:20:35 +01:00
eprintf.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
eregcomp.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
estrtod.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
fnck.c Refactor enmasse() and recurse() to reflect depth 2015-03-02 22:50:38 +01:00
getlines.c Make getlines() less verbose 2015-02-12 14:34:07 +00:00
human.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
md5.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
mode.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
putword.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
reallocarray.c Implement mallocarray() 2015-03-10 22:19:19 +01:00
recurse.c Refactor recurse() again 2015-03-19 01:08:19 +01:00
rm.c Refactor recurse() again 2015-03-19 01:08:19 +01:00
sha1.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
sha256.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
sha512.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
strcasestr.c Argh - include strings.h 2014-11-21 00:03:30 +00:00
strlcat.c Add estrlcat() and estrlcpy() 2015-03-17 11:24:49 +01:00
strlcpy.c Add estrlcat() and estrlcpy() 2015-03-17 11:24:49 +01:00
strsep.c Import strsep() from musl libc 2015-01-25 17:48:11 +00:00
strtonum.c Use strtonum and libutf in test(1), refactor code and manpage 2015-02-09 22:21:23 +01:00
unescape.c Add \e, \", \' and hex-escapes (\xH[H]) to unescape() 2015-02-14 22:55:37 +01:00