On 09/03/2012 03:18 AM, Wenchao Xia wrote: > This patch contains error handling APIs. > > Signed-off-by: Wenchao Xia > --- > libqblock/libqblock-error.c | 44 +++++++++++++++++++++++++++++++++++++++++++ > libqblock/libqblock-error.h | 34 +++++++++++++++++++++++++++++++++ > 2 files changed, 78 insertions(+), 0 deletions(-) > create mode 100644 libqblock/libqblock-error.c > create mode 100644 libqblock/libqblock-error.h > > diff --git a/libqblock/libqblock-error.c b/libqblock/libqblock-error.c > new file mode 100644 > index 0000000..28d1d77 > --- /dev/null > +++ b/libqblock/libqblock-error.c > @@ -0,0 +1,44 @@ > +#include "libqblock-error.h" No copyright. Shame. > +++ b/libqblock/libqblock-error.h > @@ -0,0 +1,34 @@ > +#ifndef LIBQBLOCK_ERROR No copyright. Shame. > +#define LIBQBLOCK_ERROR > + > +#include "libqblock-types.h" > + > +#define QB_ERR_MEM_ERR (-1) > +#define QB_ERR_INTERNAL_ERR (-2) > +#define QB_ERR_INVALID_PARAM (-3) > +#define QB_ERR_BLOCK_OUT_OF_RANGE (-100) Would an enum make more sense than #defines? > + > +/* error handling */ > +/** > + * qb_error_get_human_str: get human readable erro string. s/erro/error/ > + * > + * return a human readable string. > + * > + * @broker: operation broker, must be valid. > + * @buf: buf to receive the string. > + * @buf_size: the size of the string buf. > + */ > +void qb_error_get_human_str(struct QBroker *broker, > + char *buf, int buf_size); What happens if buf_size is too small to receive the entire error message? Should this function return int, with negative value on input error? -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org