src/lib/error.h
author Tero Marttila <terom@qmsk.net>
Fri, 03 Oct 2014 22:52:35 +0300
changeset 156 01a05c807e82
parent 18 f92a24ab046e
permissions -rw-r--r--
Makefile: do no link bin/pngtile directly with libpngtile, but rather use -lpngtile and -Rlib; add install target
#ifndef PNGTILE_ERROR_H
#define PNGTILE_ERROR_H

/**
 * @file
 *
 * Obtuse error handling
 */
#include "pngtile.h"
#include <errno.h>

#define RETURN_ERROR(code) return -(code)
#define RETURN_ERROR_ERRNO(code, errn) do { errno = (errn); return -(code); } while (0)
#define JUMP_ERROR(err) do { goto error; } while (0)
#define JUMP_SET_ERROR(err, code) do { err = -(code); goto error; } while (0)
#define JUMP_SET_ERROR_ERRNO(err, code, errn) do { err = -(code); errno = (errn); goto error; } while (0)

#endif