Commit Briefs
don't allow duplicating a fid already opened for I/O
if a fid was opened for i/o can't be used for twalk
backport type change for parse.y
Don't declare variables as "unsigned char *" that are passed to functions that take "char *" arguments. Where such chars are assigned to int or passed to ctype functions, explicitly cast them to unsigned char. For OpenBSD' clang, -Wpointer-sign has been disabled by default, but when the parse.y code was built elsewhere, the compiler would complain. (originally by naddy@ for various parse.y in the tree)
bit of refactoring
amongst other things, walk now correctly uses fds for each step, so we're not limited by PATH_MAX for the whole walk, but only for the single path component.