Annotation of OpenXM/src/hgm/gsl-t-1/src/t-error.c, Revision 1.1
1.1 ! takayama 1: /* err/error.c
! 2: *
! 3: * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
! 4: *
! 5: * This program is free software; you can redistribute it and/or modify
! 6: * it under the terms of the GNU General Public License as published by
! 7: * the Free Software Foundation; either version 3 of the License, or (at
! 8: * your option) any later version.
! 9: *
! 10: * This program is distributed in the hope that it will be useful, but
! 11: * WITHOUT ANY WARRANTY; without even the implied warranty of
! 12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
! 13: * General Public License for more details.
! 14: *
! 15: * You should have received a copy of the GNU General Public License
! 16: * along with this program; if not, write to the Free Software
! 17: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
! 18: */
! 19:
! 20: #include "config.h"
! 21: #include <stddef.h>
! 22: #include <stdlib.h>
! 23: #include <stdio.h>
! 24:
! 25: #include "t-gsl_errno.h"
! 26:
! 27: gsl_error_handler_t * gsl_error_handler = NULL;
! 28:
! 29: static void no_error_handler (const char *reason, const char *file, int line, int gsl_errno);
! 30:
! 31: void
! 32: gsl_error (const char * reason, const char * file, int line, int gsl_errno)
! 33: {
! 34: if (gsl_error_handler)
! 35: {
! 36: (*gsl_error_handler) (reason, file, line, gsl_errno);
! 37: return ;
! 38: }
! 39:
! 40: fprintf (stderr,"ERROR file %s, line %d, code %d", file, (int) line, (int) reason);
! 41:
! 42: fflush (stdout);
! 43: fprintf (stderr, "Default GSL error handler invoked.\n");
! 44: fflush (stderr);
! 45:
! 46: abort ();
! 47: }
! 48:
! 49: gsl_error_handler_t *
! 50: gsl_set_error_handler (gsl_error_handler_t * new_handler)
! 51: {
! 52: gsl_error_handler_t * previous_handler = gsl_error_handler;
! 53: gsl_error_handler = new_handler;
! 54: return previous_handler;
! 55: }
! 56:
! 57:
! 58: gsl_error_handler_t *
! 59: gsl_set_error_handler_off (void)
! 60: {
! 61: gsl_error_handler_t * previous_handler = gsl_error_handler;
! 62: gsl_error_handler = no_error_handler;
! 63: return previous_handler;
! 64: }
! 65:
! 66: static void
! 67: no_error_handler (const char *reason, const char *file, int line, int gsl_errno)
! 68: {
! 69: /* do nothing */
! 70: reason = 0;
! 71: file = 0;
! 72: line = 0;
! 73: gsl_errno = 0;
! 74: return;
! 75: }
! 76:
! 77:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>