savedir now sets errno on failure and invokes xmalloc to get memory.
authorJim Meyering <jim@meyering.net>
Tue, 27 Jun 2000 07:08:48 +0000 (07:08 +0000)
committerJim Meyering <jim@meyering.net>
Tue, 27 Jun 2000 07:08:48 +0000 (07:08 +0000)
commit211b5731d7f27ef31e1ef16bc110ad5e77ec24c9
tree644cf645ad8de0395ea5ceafc49bfaab3b256493
parentae34e4466ddd9173179e7322654bf91e58de4ff7
savedir now sets errno on failure and invokes xmalloc to get memory.
Fix a couple of other minor bugs while we're at it.

(<unistd.h>): Do not include; there's no need.
(NAMLEN): Remove macro.
(malloc, realloc): Remove decls.
(stpcpy): Likewise.
("xalloc.h"): Include.
(NAME_SIZE_DEFAULT): New macro.
(savedir): Use xmalloc / xrealloc to allocate memory.
Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
Skip "" directory entries.
Use strlen to calculate directory entry length, since the old method
is rarely used these days and isn't worth supporting.
Don't use a pointer after freeing it.
Check for integer overflow when calculating allocation size.
Use memcpy to copy entries, instead of stpcpy.
Set errno properly when returning NULL.
Check for readdir error.
lib/savedir.c