GRASS 8 Programmer's Manual
8.5.0(2026)-8d6ceba290
Toggle main menu visibility
Loading...
Searching...
No Matches
verbose.c
Go to the documentation of this file.
1
/*!
2
* \file lib/gis/verbose.c
3
*
4
* \brief GIS Library - Subroutines to manage verbosity level
5
*
6
* Note that verbosity can be controlled by GRASS_VERBOSE environment
7
* variable.
8
*
9
* See relevant subroutines:
10
* - G_percent()
11
* - G_important_message()
12
* - G_message()
13
* - G_verbose_message()
14
* - G_warning()
15
* - G_fatal_error()
16
*
17
* (C) 2001-2008, 2012-2013 by the GRASS Development Team
18
*
19
* This program is free software under the GNU General Public License
20
* (>=v2). Read the file COPYING that comes with GRASS for details.
21
*
22
* \author Jachym Cepicky - jachym.cepicky at gmail.com
23
*/
24
25
#include <stdlib.h>
26
#include <grass/config.h>
27
#include <grass/gis.h>
28
29
/*! \brief Maximum verbosity level */
30
#define MAXLEVEL 3
31
/*! \brief Standard verbosity level */
32
#define STDLEVEL 2
33
/*! \brief Minimum verbosity level (quiet) */
34
#define MINLEVEL 0
35
36
static
struct
state {
37
int
initialized;
38
int
verbose;
/* current verbosity level */
39
} state;
40
41
static
struct
state *st = &state;
42
43
/*!
44
* \brief Get current verbosity level.
45
*
46
* Currently, there are 5 levels of verbosity (see return codes)
47
*
48
* \return -1 - nothing will be printed (also errors and warnings will be
49
* also discarded)
50
* \return 0 - nothing will be printed except of errors and warnings
51
* (G_fatal_error(), G_warning()). Triggered by <tt>--q</tt>
52
* or <tt>--quiet</tt> flag..
53
* \return 1 - only progress information (G_percent()) and important messages
54
* (G_important_message()) will be printed
55
* \return 2 - all messages (G_message() and G_important_message()) will be
56
* printed
57
* \return 3 - also verbose messages (G_verbose_message()) will be printed.
58
* Triggered by <tt>--v</tt> or <tt>--verbose</tt> flag.
59
*/
60
int
G_verbose
(
void
)
61
{
62
const
char
*verstr;
/* string for GRASS_VERBOSE content */
63
64
if
(
G_is_initialized
(&(st->initialized)))
65
return
st->verbose;
66
67
/* verbose not defined -> get it from env. */
68
verstr = getenv(
"GRASS_VERBOSE"
);
69
st->verbose = verstr ? atoi(verstr) :
STDLEVEL
;
70
71
G_initialize_done
(&(st->initialized));
72
73
return
st->verbose;
74
}
75
76
/*!
77
* \brief Get max verbosity level.
78
*
79
* \return max verbosity level
80
*/
81
int
G_verbose_max
(
void
)
82
{
83
return
MAXLEVEL
;
84
}
85
86
/*!
87
* \brief Get standard verbosity level.
88
*
89
* \return standard verbosity level
90
*/
91
int
G_verbose_std
(
void
)
92
{
93
return
STDLEVEL
;
94
}
95
96
/*!
97
* \brief Get min verbosity level.
98
*
99
* \return min verbosity level
100
*/
101
int
G_verbose_min
(
void
)
102
{
103
return
MINLEVEL
;
104
}
105
106
/*!
107
* \brief Set verbosity level.
108
*
109
* - -1 - nothing will be printed (also errors and warnings will be also
110
* discarded)
111
* - 0 - nothing will be printed except of errors and warnings
112
* (G_fatal_error(), G_warning()). Triggered by <tt>--q</tt> or
113
* <tt>--quiet</tt> flag.
114
* - 1 - only progress information (G_percent()) and important messages
115
* (G_important_message()) will be printed
116
* - 2 - all messages (G_message() and G_important_message()) will be printed
117
* - 3 - also verbose messages (G_verbose_message()) will be printed. Triggered
118
* by <tt>--v</tt> or <tt>--verbose</tt> flag.
119
*
120
* \param level new verbosity level (-1,0,1,2,3)
121
*
122
* \return 0 on invalid verbosity level (verbosity level untouched)
123
* \return 1 on success
124
*/
125
int
G_set_verbose
(
int
level)
126
{
127
if
(level == -1 || (level >=
MINLEVEL
&& level <=
MAXLEVEL
)) {
128
st->verbose = level;
129
if
(!
G_is_initialized
(&(st->initialized)))
130
G_initialize_done
(&(st->initialized));
131
132
return
1;
133
}
134
135
return
0;
136
}
G_initialize_done
void G_initialize_done(int *p)
Definition
counter.c:77
G_is_initialized
int G_is_initialized(int *p)
Definition
counter.c:60
G_verbose_max
int G_verbose_max(void)
Get max verbosity level.
Definition
verbose.c:81
STDLEVEL
#define STDLEVEL
Standard verbosity level.
Definition
verbose.c:32
G_set_verbose
int G_set_verbose(int level)
Set verbosity level.
Definition
verbose.c:125
MINLEVEL
#define MINLEVEL
Minimum verbosity level (quiet).
Definition
verbose.c:34
MAXLEVEL
#define MAXLEVEL
Maximum verbosity level.
Definition
verbose.c:30
G_verbose
int G_verbose(void)
Get current verbosity level.
Definition
verbose.c:60
G_verbose_min
int G_verbose_min(void)
Get min verbosity level.
Definition
verbose.c:101
G_verbose_std
int G_verbose_std(void)
Get standard verbosity level.
Definition
verbose.c:91
gis
verbose.c
Generated on
for GRASS 8 Programmer's Manual by
1.17.0