GRASS GIS 7 Programmer's Manual  7.0.3(2016)-r00000
verbose.c
Go to the documentation of this file.
1 
25 #include <stdlib.h>
26 #include <grass/config.h>
27 #include <grass/gis.h>
28 
30 #define MAXLEVEL 3
31 
32 #define STDLEVEL 2
33 
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 
55 int G_verbose(void)
56 {
57  const char *verstr; /* string for GRASS_VERBOSE content */
58 
59  if (G_is_initialized(&(st->initialized)))
60  return st->verbose;
61 
62  /* verbose not defined -> get it from env. */
63  verstr = getenv("GRASS_VERBOSE");
64  st->verbose = verstr ? atoi(verstr) : STDLEVEL;
65 
66  G_initialize_done(&(st->initialized));
67 
68  return st->verbose;
69 }
70 
76 int G_verbose_max(void)
77 {
78  return MAXLEVEL;
79 }
80 
86 int G_verbose_std(void)
87 {
88  return STDLEVEL;
89 }
90 
96 int G_verbose_min(void)
97 {
98  return MINLEVEL;
99 }
100 
116 int G_set_verbose(int level)
117 {
118  if (level == -1 || (level >= MINLEVEL && level <= MAXLEVEL)) {
119  st->verbose = level;
120  if (!G_is_initialized(&(st->initialized)))
121  G_initialize_done(&(st->initialized));
122 
123  return 1;
124  }
125 
126  return 0;
127 }
#define MINLEVEL
Minumum verbosity level (quiet)
Definition: verbose.c:34
#define MAXLEVEL
Maximum verbosity level.
Definition: verbose.c:30
int G_is_initialized(int *p)
Definition: counter.c:59
int G_set_verbose(int level)
Set verbosity level.
Definition: verbose.c:116
void G_initialize_done(int *p)
Definition: counter.c:76
struct state * st
Definition: parser.c:101
int G_verbose_max(void)
Get max verbosity level.
Definition: verbose.c:76
int G_verbose_std(void)
Get standard verbosity level.
Definition: verbose.c:86
int G_verbose(void)
Get current verbosity level.
Definition: verbose.c:55
#define STDLEVEL
Standard verbosity level.
Definition: verbose.c:32
int G_verbose_min(void)
Get min verbosity level.
Definition: verbose.c:96
struct state state
Definition: parser.c:100