diff -r 2e896ad9754b -r 48204dea0b9f librazor/razor.h --- a/librazor/razor.h Fri Feb 17 18:35:10 2012 +0000 +++ b/librazor/razor.h Sat Aug 23 11:13:48 2014 +0100 @@ -115,12 +115,21 @@ struct razor_error; struct razor_error *razor_error_new_str(const char *path, const char *str); +struct razor_error *razor_error_dup(struct razor_error *src, + const char *summary); #define razor_set_error(error, path, str) \ if (error) \ *(error) = razor_error_new_str(path, str); \ else +#define razor_propagate_error(dest, src, summary) \ + if (dest) \ + *(dest) = razor_error_dup(src, summary); \ + else + +const char *razor_error_get_primary_text(struct razor_error *error); +const char *razor_error_get_secondary_text(struct razor_error *error); const char *razor_error_get_msg(struct razor_error *error); void razor_error_free(struct razor_error *error); @@ -145,6 +154,7 @@ struct razor_atomic *razor_atomic_open(const char *description); int razor_atomic_commit(struct razor_atomic *atomic); +struct razor_error *razor_atomic_get_error(struct razor_atomic *atomic); const char *razor_atomic_get_error_msg(struct razor_atomic *atomic); void razor_atomic_destroy(struct razor_atomic *atomic);