src/lib/error.h
author Tero Marttila <terom@qmsk.net>
Sat, 15 Jul 2017 11:42:22 +0300
changeset 183 1f56a81f0c69
parent 18 f92a24ab046e
permissions -rw-r--r--
Dockerfile.tileserver: tweak /srv/pngtile/images path
#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