60 void *
data,
int *does_not_exist)
64 if (does_not_exist != NULL)
74 if (does_not_exist != NULL && (errno == ENOENT || errno == EACCES))
98 if (close (descriptor) < 0)
void(* backtrace_error_callback)(void *data, const char *msg, int errnum)
static void error_callback(void *data, const char *msg, int errnum)
int backtrace_close(int descriptor, backtrace_error_callback error_callback, void *data)
int backtrace_open(const char *filename, backtrace_error_callback error_callback, void *data, int *does_not_exist)
Functions to help with cleanup.