1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
/*
* Name:
* err_null.c
* Purpose:
* Implement the default "err" module.
* Description:
* This file implements the default "err" module for the AST
* library. It is used to deliver error messages if no alternative
* error delivery mechanism is provided.
*
* To provide an alternative mechanism, re-implement this module
* and link your program against the resulting library.
* Copyright:
* Copyright (C) 1997-2006 Council for the Central Laboratory of the
* Research Councils
* Licence:
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public Licence as
* published by the Free Software Foundation; either version 2 of
* the Licence, 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 Licence for more details.
*
* You should have received a copy of the GNU General Public Licence
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street,Fifth Floor, Boston, MA
* 02110-1301, USA
* Authors:
* RFWS: R.F. Warren-Smith (STARLINK)
* {enter_new_authors_here}
* History:
* 6-NOV-1996 (DSB):
* Original version.
* {enter_changes_here}
*/
/* Module Macros. */
/* ============== */
/* Define the astCLASS macro (even although this is not a class
implementation). This indicates to header files that they should
make "protected" symbols available. */
#define astCLASS
/* Include files. */
/* ============== */
/* Interface definitions. */
/* ---------------------- */
#include "err.h" /* Interface to this module */
#include "error.h" /* Interface to the error module */
/* C header files. */
/* --------------- */
#include <stdio.h>
/* Function implementations. */
/* ========================= */
void astPutErr_( int status_value, const char *message ) {
/*
*+
* Name:
* astPutErr
* Purpose:
* Deliver an error message.
* Type:
* Protected function.
* Synopsis:
* #include "err.h"
* void astPutErr( int status_value, const char *message )
* Description:
* This function delivers an error message and (optionally) an
* accompanying status value to the user. It may be re-implemented
* in order to deliver error messages in different ways, according
* to the environment in which the AST library is being used.
* Parameters:
* status_value
* The error status value.
* message
* A pointer to a null-terminated character string containing
* the error message to be delivered. This should not contain
* newline characters.
* Notes:
* - This function is documented as "protected" but, in fact, is
* publicly accessible so that it may be re-implemented as
* required.
*-
*/
/* This is the default implementation. Simply write the message to
standard error with a newline appended. Ignore the status value. */
int *status = astGetStatusPtr;
(void) fprintf( stderr, "%s%s\n", astOK ? "!! " : "! ", message );
}
|