gpp4  1.3.1
Classes | Functions | Variables
library_err.c File Reference

Error handling library. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "ccp4_errno.h"

Classes

struct  error_system
 

Functions

const char * ccp4_strerror (int error)
 
void ccp4_error (const char *msg)
 
void ccp4_fatal (const char *message)
 
int CFile_Perror (const char *msg)
 
int ccp4_liberr_verbosity (int iverb)
 
void ccp4_signal (const int code, const char *const msg, void(*callback)())
 

Variables

int ccp4_errno = 0
 

Detailed Description

Error handling library.

Author
Charles Ballard

Function Documentation

◆ ccp4_error()

void ccp4_error ( const char *  )

Print out passed message and internal message based upon ccp4_errno "message : error message "

Parameters
message(const char *)
Returns
void

References ccp4_errno, and ccp4_strerror().

Referenced by ccp4_fatal().

◆ ccp4_fatal()

void ccp4_fatal ( const char *  )

Wrapper for ccp4_error which also calls exit(1)

Parameters
message(const char *)
Returns
void

References ccp4_error().

◆ ccp4_liberr_verbosity()

int ccp4_liberr_verbosity ( int  iverb)

Function to set verbosity level for messages from ccp4_signal. Currently just off (0) and on (1). It should be generalised to be able to switch individual components on and off, i.e. replace 1 by a mask. cf. ccp4VerbosityLevel which sets the verbosity level for ccp4printf These are separate as they may be used differently.

Parameters
iverbIf >= 0 then set the verbosity level to the value of iverb. If < 0 (by convention -1) then report current level.
Returns
current verbosity level

Referenced by ccp4uc_cells_differ(), and sort_batches().

◆ ccp4_signal()

void ccp4_signal ( const int  ,
const char * const  ,
void(*)()   
)

Routine to set ccp4_errno and print out message for error tracing. This should be the only way in which ccp4_errno is set. See error codes above for levels and systems. A callback with prototype void function(void) may also be passed to the routine. Note: FATAL calls exit(1). If ccp4_liberr_verbosity returns 0, then ccp4_signal sets ccp4_errno and returns without doing anything else.

Parameters
errorcode (int)
message(const char * const)
callback(point to routine void (*)(void) )
Returns
void

Referenced by ccp4_cmap_get_label(), ccp4_cmap_get_mask(), ccp4_cmap_get_symop(), ccp4_cmap_open(), ccp4_cmap_read_data(), ccp4_cmap_read_row(), ccp4_cmap_read_section(), ccp4_cmap_read_section_header(), ccp4_cmap_seek_data(), ccp4_cmap_seek_row(), ccp4_cmap_seek_section(), ccp4_cmap_seek_symop(), ccp4_cmap_set_label(), ccp4_cmap_set_mask(), ccp4_cmap_set_symop(), ccp4_cmap_write_data(), ccp4_cmap_write_row(), ccp4_cmap_write_section(), ccp4_cmap_write_section_header(), ccp4_file_close(), ccp4_file_fatal(), ccp4_file_feof(), ccp4_file_itemsize(), ccp4_file_length(), ccp4_file_mode(), ccp4_file_open_file(), ccp4_file_rarch(), ccp4_file_raw_read(), ccp4_file_raw_seek(), ccp4_file_raw_write(), ccp4_file_read(), ccp4_file_readchar(), ccp4_file_readcomp(), ccp4_file_readfloat(), ccp4_file_readint(), ccp4_file_readshort(), ccp4_file_readshortcomp(), ccp4_file_rewind(), ccp4_file_seek(), ccp4_file_setbyte(), ccp4_file_setmode(), ccp4_file_setstamp(), ccp4_file_tell(), ccp4_file_warch(), ccp4_file_write(), ccp4_file_writechar(), ccp4_file_writecomp(), ccp4_file_writefloat(), ccp4_file_writeint(), ccp4_file_writeshort(), ccp4_file_writeshortcomp(), ccp4_lrassn(), ccp4_parse(), ccp4_parser(), ccp4spg_centric_phase(), ccp4spg_generate_indices(), ccp4spg_get_multiplicity(), ccp4spg_is_centric(), ccp4spg_is_in_asu(), ccp4spg_is_sysabs(), ccp4spg_print_centric_zones(), ccp4spg_print_epsilon_zones(), ccp4spg_print_recip_ops(), ccp4spg_print_recip_spgrp(), ccp4spg_put_in_asu(), ccp4spg_set_centric_zones(), ccp4spg_set_epsilon_zones(), ccp4spg_symbol_Hall(), doublefromstr(), FORTRAN_SUBR(), mat4_to_symop(), MtzAddColumn(), MtzAddDataset(), MtzAddXtal(), MtzAssignColumn(), MtzMalloc(), MtzMallocBatch(), MtzMallocCol(), MtzParseLabin(), parse_mapheader(), set_fft_grid(), and symop_to_mat4().

◆ ccp4_strerror()

const char* ccp4_strerror ( int  )

Obtain character string based upon error code. Typical use ccp4_strerror(ccp4_errno) The returned string is statically allocated in the library_err.c file and should not be freed.

Parameters
errorcode (int)
Returns
const pointer to error message (const char *)

Referenced by ccp4_error(), and ccp4_file_error().

Variable Documentation

◆ ccp4_errno

int ccp4_errno = 0

ccp4_errno: global to store data

Referenced by ccp4_error(), and ccp4_utils_setenv().