GRASS 8 Programmer's Manual
8.5.0(2026)-8d6ceba290
Toggle main menu visibility
Loading...
Searching...
No Matches
key_value3.c
Go to the documentation of this file.
1
/*!
2
\file lib/gis/key_value3.c
3
4
\brief Key_Value management.
5
6
(C) 2001-2008, 2012 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 CERL
12
*/
13
14
#include <errno.h>
15
#include <string.h>
16
#include <grass/gis.h>
17
#include <grass/glocale.h>
18
19
/*!
20
\brief Write key/value pairs to file
21
22
\param file filename for writing
23
\param kv pointer Key_Value structure
24
25
\return 0 success
26
\return 1 error writing
27
*/
28
void
G_write_key_value_file
(
const
char
*
file
,
const
struct
Key_Value *kv)
29
{
30
FILE *fp = fopen(
file
,
"w"
);
31
32
if
(!fp)
33
G_fatal_error
(_(
"Unable to open output file <%s>: %s"
),
file
,
34
strerror(errno));
35
36
if
(
G_fwrite_key_value
(fp, kv) != 0)
37
G_fatal_error
(_(
"Error writing file <%s>: %s"
),
file
, strerror(errno));
38
39
if
(fclose(fp) != 0)
40
G_fatal_error
(_(
"Error closing output file <%s>: %s"
),
file
,
41
strerror(errno));
42
}
43
44
/*!
45
\brief Read key/values pairs from file
46
47
Allocated memory must be freed G_free_key_value(). Call
48
G_fatal_error() when unable to read key/value items from the file.
49
50
\param[in] file filename for reading
51
52
\return pointer to allocated Key_Value structure
53
\return NULL on error
54
*/
55
struct
Key_Value *
G_read_key_value_file
(
const
char
*
file
)
56
{
57
FILE *fp;
58
struct
Key_Value *kv;
59
60
fp = fopen(
file
,
"r"
);
61
if
(!fp)
62
G_fatal_error
(_(
"Unable to open input file <%s>: %s"
),
file
,
63
strerror(errno));
64
65
kv =
G_fread_key_value
(fp);
66
if
(!kv)
67
G_fatal_error
(_(
"Error reading file <%s>: %s"
),
file
, strerror(errno));
68
69
if
(fclose(fp) != 0)
70
G_fatal_error
(_(
"Error closing input file <%s>: %s"
),
file
,
71
strerror(errno));
72
73
return
kv;
74
}
G_fatal_error
void G_fatal_error(const char *msg,...)
Print a fatal error message to stderr.
Definition
gis/error.c:159
G_fread_key_value
struct Key_Value * G_fread_key_value(FILE *fd)
Read key/values pairs from file.
Definition
key_value2.c:49
G_fwrite_key_value
int G_fwrite_key_value(FILE *fd, const struct Key_Value *kv)
Write key/value pairs to file.
Definition
key_value2.c:25
G_write_key_value_file
void G_write_key_value_file(const char *file, const struct Key_Value *kv)
Write key/value pairs to file.
Definition
key_value3.c:28
G_read_key_value_file
struct Key_Value * G_read_key_value_file(const char *file)
Read key/values pairs from file.
Definition
key_value3.c:55
file
#define file
gis
key_value3.c
Generated on
for GRASS 8 Programmer's Manual by
1.17.0