diff options
| author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2004-04-11 12:20:31 +0000 |
|---|---|---|
| committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2004-04-11 12:20:31 +0000 |
| commit | c4e423537d77267ff859f20cefcbeaa4817d7199 (patch) | |
| tree | 60bf60d3735d39384b35936a89a71b8223bf4a4a /src/input/vcd/libvcd/vcd_assert.h | |
| parent | 79c5f9914c6476d31d64b85d0d34b31644732672 (diff) | |
| download | xine-lib-c4e423537d77267ff859f20cefcbeaa4817d7199.tar.gz xine-lib-c4e423537d77267ff859f20cefcbeaa4817d7199.tar.bz2 | |
libvcd 0.7.20, libcdio 0.68
CVS patchset: 6388
CVS date: 2004/04/11 12:20:31
Diffstat (limited to 'src/input/vcd/libvcd/vcd_assert.h')
| -rw-r--r-- | src/input/vcd/libvcd/vcd_assert.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/input/vcd/libvcd/vcd_assert.h b/src/input/vcd/libvcd/vcd_assert.h new file mode 100644 index 000000000..c096b3677 --- /dev/null +++ b/src/input/vcd/libvcd/vcd_assert.h @@ -0,0 +1,55 @@ +/* + $Id: vcd_assert.h,v 1.1 2004/04/11 12:20:32 miguelfreitas Exp $ + + Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org> + + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef __VCD_ASSERT_H__ +#define __VCD_ASSERT_H__ + +#if defined(__GNUC__) + +#include <libvcd/types.h> +#include <libvcd/logging.h> + +#define vcd_assert(expr) \ + { \ + if (GNUC_UNLIKELY (!(expr))) vcd_log (VCD_LOG_ASSERT, \ + "file %s: line %d (%s): assertion failed: (%s)", \ + __FILE__, __LINE__, __PRETTY_FUNCTION__, #expr); \ + } + +#define vcd_assert_not_reached() \ + { \ + vcd_log (VCD_LOG_ASSERT, \ + "file %s: line %d (%s): should not be reached", \ + __FILE__, __LINE__, __PRETTY_FUNCTION__); \ + } + +#else /* non GNU C */ + +#include <assert.h> + +#define vcd_assert(expr) \ + assert(expr) + +#define vcd_assert_not_reached() \ + assert(0) + +#endif + +#endif /* __VCD_ASSERT_H__ */ |
