Commit Briefs
portable: make UUID includes generic
Move the detection of UUID header files to be included portably. This will have no functional effect until MacOS detection is put in place.
portable: remove extraneous strerror_r check
On a __GLIBC__ system, we need to use __xpg_strerror_r() -- this is already checked for, so simply one of these checks to reduce code changes from upstream.
for portability, handle errno variations upon open(2) failure with O_NOFOLLOW
Problem pointed out by naddy for FreeBSD -portable. Discussed with millert, thomas adam, and naddy.
portable: add FreeBSD support
This adds the capability to compile got-portable on FreeBSD.
sterror: use XPG version on GLIBC
It looks like autoconf 2.69 will not provide XPG strerror_r even if the appropriate macros are set which request the XPG version. Until this is fixed in autoconf and that version is more widely-adopted, this approach will provide what's required. Originally from Stefan Sperling, tweaked by me.
portable: initial Linux compilation
This commit modifies the GoT main branch to be able to compile it under linux.
introduce got_custom_error array to support multiple errors in flight
This is still not thread-safe but at least avoids errors overwriting each other in single-threaded contexts.
add got_error_fmt()
got_error_fmt() could eventually replace got_error_path() which has already been used to construct errors with strings that are not actually paths... ok millert@
add got_error_from_errno_fmt() for more flexibility in error messages
suggested by and ok millert
got_error_set_errno: take a char arg to pass to got_error_prefix_errno
$> got rm a got: : No such file or directory becomes $> got rm a got: /path/to/a: No such file or directory
got_error_from_errno -> got_error_prefix_errno
also add got_error_prefix_errno2 and got_error_prefix_errno3 which should hopefully all be merged into a single function with variadic args (but can't alloc mem)