GRASS GIS 7 Programmer's Manual
7.9.dev(2021)-e5379bbd7
list_gp.c
Go to the documentation of this file.
1
/*!
2
\file list_gp.c
3
4
\brief Imagery Library - List group
5
6
(C) 2001-2008 by the GRASS Development Team
7
8
This program is free software under the GNU General Public License
9
(>=v2). Read the file COPYING that comes with GRASS for details.
10
11
\author USA CERL
12
*/
13
14
#include <string.h>
15
#include <
grass/imagery.h
>
16
#include <
grass/glocale.h
>
17
18
/*!
19
* \brief Prints maps in a group (fancy version)
20
*
21
* \param group group name
22
* \param ref group reference (set with I_get_group_ref())
23
* \param fd where to print (typically stdout)
24
* \return 0
25
*/
26
int
I_list_group
(
const
char
*group,
const
struct
Ref
*ref, FILE * fd)
27
{
28
char
buf[80];
29
int
i;
30
int
len, tot_len;
31
int
max
;
32
33
if
(ref->
nfiles
<= 0) {
34
fprintf(fd,
_
(
"group <%s> is empty\n"
), group);
35
return
0;
36
}
37
max = 0;
38
for
(i = 0; i < ref->
nfiles
; i++) {
39
sprintf(buf,
"<%s@%s>"
, ref->
file
[i].
name
, ref->
file
[i].
mapset
);
40
len = strlen(buf) + 4;
41
if
(len > max)
42
max = len;
43
}
44
fprintf(fd,
_
(
"group <%s> references the following raster maps\n"
), group);
45
fprintf(fd,
"-------------\n"
);
46
tot_len = 0;
47
for
(i = 0; i < ref->
nfiles
; i++) {
48
sprintf(buf,
"<%s@%s>"
, ref->
file
[i].
name
, ref->
file
[i].
mapset
);
49
tot_len +=
max
;
50
if
(tot_len > 78) {
51
fprintf(fd,
"\n"
);
52
tot_len =
max
;
53
}
54
fprintf(fd,
"%-*s"
, max, buf);
55
}
56
if
(tot_len)
57
fprintf(fd,
"\n"
);
58
fprintf(fd,
"-------------\n"
);
59
60
return
0;
61
}
62
63
/*!
64
* \brief Prints maps in a group (simple version)
65
*
66
* Same as I_list_group(), but without all the fancy stuff.
67
* Prints one map per line in map@mapset form.
68
*
69
* \param ref group reference (set with I_get_group_ref())
70
* \param fd where to print (typically stdout)
71
* \return 0
72
*/
73
int
I_list_group_simple
(
const
struct
Ref
*ref, FILE * fd)
74
{
75
int
i;
76
77
if
(ref->
nfiles
<= 0)
78
return
0;
79
80
for
(i = 0; i < ref->
nfiles
; i++)
81
fprintf(fd,
"%s@%s\n"
, ref->
file
[i].
name
, ref->
file
[i].
mapset
);
82
83
return
0;
84
}
glocale.h
Ref_Files::name
char name[INAME_LEN]
Definition:
imagery.h:22
Ref
Definition:
imagery.h:26
imagery.h
max
#define max(x, y)
Definition:
draw2.c:32
I_list_group_simple
int I_list_group_simple(const struct Ref *ref, FILE *fd)
Prints maps in a group (simple version)
Definition:
list_gp.c:73
Ref_Files::mapset
char mapset[INAME_LEN]
Definition:
imagery.h:23
I_list_group
int I_list_group(const char *group, const struct Ref *ref, FILE *fd)
Prints maps in a group (fancy version)
Definition:
list_gp.c:26
Ref::nfiles
int nfiles
Definition:
imagery.h:28
Ref::file
struct Ref_Files * file
Definition:
imagery.h:29
_
#define _(str)
Definition:
glocale.h:10
lib
imagery
list_gp.c
Generated on Mon May 31 2021 05:21:30 for GRASS GIS 7 Programmer's Manual by
1.8.13