diff -r cf499fd51df7 -r 457307a3966b librazor/razor-internal.h --- a/librazor/razor-internal.h Sat Aug 23 16:07:09 2014 +0100 +++ b/librazor/razor-internal.h Fri Oct 03 12:24:10 2014 +0100 @@ -1,7 +1,7 @@ /* * Copyright (C) 2008 Kristian Høgsberg * Copyright (C) 2008 Red Hat, Inc - * Copyright (C) 2009, 2011-2012 J. Ali Harlow + * Copyright (C) 2009, 2011-2012, 2014 J. Ali Harlow * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -247,24 +247,35 @@ /* Error functions */ struct razor_error { - char *path; + int domain; + int code; + char *object; char *str; - char *path_str; + char *obj_str; char *summary; char *msg; }; +#define razor_error_new_posix(object) \ + razor_error_new_str(RAZOR_POSIX_ERROR, errno, object, strerror(errno)) +#define razor_set_error_posix(error, object) \ + if (error) \ + *(error) = razor_error_new_posix(object); \ + else + #ifdef MSWIN_API -struct razor_error *razor_error_new_mswin(const wchar_t *path, DWORD error); -struct razor_error *razor_error_new_str2(const wchar_t *path, const char *str); +struct razor_error *razor_error_new_mswin(const wchar_t *object, DWORD error); +struct razor_error *razor_error_new_str2(int domain, int code, + const wchar_t *object, + const char *str); -#define razor_set_error_mswin(error, path, err) \ +#define razor_set_error_mswin(error, object, err) \ if (error) \ - *(error) = razor_error_new_mswin(path, err); \ + *(error) = razor_error_new_mswin(object, err); \ else -#define razor_set_error2(error, path, str) \ +#define razor_set_error2(error, domain, code, object, str) \ if (error) \ - *(error) = razor_error_new_str2(path, str); \ + *(error) = razor_error_new_str2(domain, code, object, str); \ else #endif /* MSWIN_API */