GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-835afb4352
gis/error.c File Reference

GIS Library - Error messages functions. More...

#include <stdlib.h>
#include <string.h>
#include <setjmp.h>
#include <unistd.h>
#include <time.h>
#include <stdarg.h>
#include <sys/types.h>
#include <grass/glocale.h>
#include <grass/gis.h>
#include "gis_local_proto.h"
Include dependency graph for gis/error.c:

Go to the source code of this file.

Macros

#define MSG   0
 A message. More...
 
#define WARN   1
 A warning message. More...
 
#define ERR   2
 A fatal error message. More...
 

Functions

jmp_buf * G_fatal_longjmp (int enable)
 
void G_message (const char *msg,...)
 Print a message to stderr. More...
 
void G_verbose_message (const char *msg,...)
 Print a message to stderr but only if module is in verbose mode. More...
 
void G_important_message (const char *msg,...)
 Print a message to stderr even in brief mode (verbosity=1) More...
 
void G_fatal_error (const char *msg,...)
 Print a fatal error message to stderr. More...
 
void G_warning (const char *msg,...)
 Print a warning message to stderr. More...
 
int G_suppress_warnings (int flag)
 Suppress printing a warning message to stderr. More...
 
int G_sleep_on_error (int flag)
 Turn on/off no_sleep flag. More...
 
void G_set_error_routine (int(*error_routine)(const char *, int))
 Establishes error_routine as the routine that will handle the printing of subsequent error messages. More...
 
void G_unset_error_routine (void)
 After this call subsequent error messages will be handled in the default method. More...
 
void G_init_logging (void)
 
int G_info_format (void)
 Get current message format. More...
 

Detailed Description

GIS Library - Error messages functions.

(C) 1999-2011 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
USACERL and many others

Definition in file gis/error.c.

Macro Definition Documentation

◆ ERR

#define ERR   2

A fatal error message.

Definition at line 44 of file gis/error.c.

◆ MSG

#define MSG   0

A message.

Definition at line 32 of file gis/error.c.

◆ WARN

#define WARN   1

A warning message.

Definition at line 38 of file gis/error.c.

Function Documentation

◆ G_fatal_error()

void G_fatal_error ( const char *  msg,
  ... 
)

Print a fatal error message to stderr.

The output format depends on environment variable GRASS_MESSAGE_FORMAT

By default, the message is handled by an internal routine which prints the message to the screen. Using G_set_error_routine() the programmer can have the message handled by another routine. This is especially useful if the message should go to a particular location on the screen when using curses or to a location on a graphics device (monitor).

Parameters
msgstring (cannot be NULL)
Returns
Terminates with an exit status of EXIT_FAILURE if no external routine is specified by G_set_error_routine()

Definition at line 159 of file gis/error.c.

References G_verbose().

◆ G_fatal_longjmp()

jmp_buf* G_fatal_longjmp ( int  enable)

Definition at line 66 of file gis/error.c.

◆ G_important_message()

void G_important_message ( const char *  msg,
  ... 
)

Print a message to stderr even in brief mode (verbosity=1)

Usually just G_percent()/G_clicker() would be shown at this level. This allows important non-error/warning messages to display as well.

The output format depends on environment variables GRASS_MESSAGE_FORMAT and GRASS_VERBOSE

Parameters
msgstring (cannot be NULL)

Definition at line 130 of file gis/error.c.

References G_verbose(), and G_verbose_min().

◆ G_info_format()

int G_info_format ( void  )

Get current message format.

Maybe set to either "standard" or "gui" (normally GRASS takes care)

Returns
grass_info_format value

Definition at line 537 of file gis/error.c.

References G_init_logging().

◆ G_init_logging()

void G_init_logging ( void  )

Definition at line 355 of file gis/error.c.

Referenced by G_info_format(), and G_init_all().

◆ G_message()

void G_message ( const char *  msg,
  ... 
)

Print a message to stderr.

The output format depends on environment variable GRASS_MESSAGE_FORMAT

Parameters
msgstring (cannot be NULL)

Definition at line 89 of file gis/error.c.

References G_verbose(), and G_verbose_std().

◆ G_set_error_routine()

void G_set_error_routine ( int(*)(const char *, int)  error_routine)

Establishes error_routine as the routine that will handle the printing of subsequent error messages.

Parameters
error_routineroutine will be called like this: error_routine(msg, fatal)
Returns

Definition at line 260 of file gis/error.c.

◆ G_sleep_on_error()

int G_sleep_on_error ( int  flag)

Turn on/off no_sleep flag.

If flag is 0, then no pause will occur after printing an error or warning message. Otherwise the pause will occur.

Parameters
flagif non-zero/zero value is given G_sleep() will be activated/deactivated
Returns
previous no_sleep value

Definition at line 242 of file gis/error.c.

◆ G_suppress_warnings()

int G_suppress_warnings ( int  flag)

Suppress printing a warning message to stderr.

Parameters
flaga warning message will be suppressed if non-zero value is given
Returns
previous flag

Definition at line 222 of file gis/error.c.

Referenced by I_get_group(), I_get_group_title(), I_get_subgroup(), and I_get_target().

◆ G_unset_error_routine()

void G_unset_error_routine ( void  )

After this call subsequent error messages will be handled in the default method.

Error messages are printed directly to the screen: ERROR: message or WARNING: message

Returns
0

Definition at line 274 of file gis/error.c.

◆ G_verbose_message()

void G_verbose_message ( const char *  msg,
  ... 
)

Print a message to stderr but only if module is in verbose mode.

The output format depends on environment variables GRASS_MESSAGE_FORMAT and GRASS_VERBOSE

Parameters
msgstring (cannot be NULL)

Definition at line 108 of file gis/error.c.

References G_verbose(), and G_verbose_std().

◆ G_warning()

void G_warning ( const char *  msg,
  ... 
)

Print a warning message to stderr.

The output format depends on environment variable GRASS_MESSAGE_FORMAT

A warning message can be suppressed by G_suppress_warnings()

Parameters
msgstring (cannot be NULL)
Returns

Definition at line 203 of file gis/error.c.