diff options
Diffstat (limited to 'include/git2/errors.h')
| -rw-r--r-- | include/git2/errors.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/git2/errors.h b/include/git2/errors.h index a454ac956..be7a31d8e 100644 --- a/include/git2/errors.h +++ b/include/git2/errors.h @@ -8,6 +8,7 @@ #define INCLUDE_git_errors_h__ #include "common.h" +#include "buffer.h" /** * @file git2/errors.h @@ -45,6 +46,7 @@ typedef struct { /** Error classes */ typedef enum { + GITERR_NONE = 0, GITERR_NOMEMORY, GITERR_OS, GITERR_INVALID, @@ -85,6 +87,18 @@ GIT_EXTERN(const git_error *) giterr_last(void); GIT_EXTERN(void) giterr_clear(void); /** + * Get the last error data and clear it. + * + * This copies the last error into the given `git_error` struct + * and returns 0 if the copy was successful, leaving the error + * cleared as if `giterr_clear` had been called. + * + * If there was no existing error in the library, -1 will be returned + * and the contents of `cpy` will be left unmodified. + */ +GIT_EXTERN(int) giterr_detach(git_error *cpy); + +/** * Set the error message string for this thread. * * This function is public so that custom ODB backends and the like can |
