Annotated Source Code

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 <gsl/gsl_errno.h>
26#include <gsl/gsl_message.h>
27
28gsl_error_handler_t * gsl_error_handler = NULL;
29
30static void no_error_handler (const char *reason, const char *file, int line, int gsl_errno);
31
32void
33gsl_error (const char * reason, const char * file, int line, int gsl_errno)
45Enter function.    gsl_error("unrecognized GSL_IEEE_MODE string.\nValid settings are:\n\n single-precision double-precision extended-precision\n round-to-nearest round-down round-up round-to-zero\n mask-invalid mask-denormalized mask-division-by-zero\n mask-overflow mask-underflow mask-all\n trap-common trap-inexact\n\nseparated by commas. (e.g. GSL_IEEE_MODE=\"round-down,mask-underflow\")", "/home/xingming/workplace/experiment/fp/gsl-2.1/ieee-utils/read.c", 91, GSL_EINVAL)
34{
35  if (gsl_error_handler) 
46Take the true branch.    gsl_error_handler
36    {
37      (*gsl_error_handler) (reason, file, line, gsl_errno);
38      return ;
39    }
40
41  gsl_stream_printf ("ERROR", file, line, reason);
42
43  fflush (stdout);
44  fprintf (stderr, "Default GSL error handler invoked.\n");
45  fflush (stderr);
46
47  abort ();
48}
47Exit function.    gsl_error("unrecognized GSL_IEEE_MODE string.\nValid settings are:\n\n single-precision double-precision extended-precision\n round-to-nearest round-down round-up round-to-zero\n mask-invalid mask-denormalized mask-division-by-zero\n mask-overflow mask-underflow mask-all\n trap-common trap-inexact\n\nseparated by commas. (e.g. GSL_IEEE_MODE=\"round-down,mask-underflow\")", "/home/xingming/workplace/experiment/fp/gsl-2.1/ieee-utils/read.c", 91, GSL_EINVAL)
49
50gsl_error_handler_t *
51gsl_set_error_handler (gsl_error_handler_t * new_handler)
52{
53  gsl_error_handler_t * previous_handler = gsl_error_handler;
54  gsl_error_handler = new_handler;
55  return previous_handler;
56}
57
58
59gsl_error_handler_t *
60gsl_set_error_handler_off (void)
61{
62  gsl_error_handler_t * previous_handler = gsl_error_handler;
63  gsl_error_handler = no_error_handler;
64  return previous_handler;
65}
66
67static void
68no_error_handler (const char *reason, const char *file, int line, int gsl_errno)
69{
70  /* do nothing */
71  reason = 0;
72  file = 0;
73  line = 0;
74  gsl_errno = 0;
75  return;
76}
77
78
79
Events list
Event 45
Event 46
Event 47