GRASS 8 Programmer's Manual 8.6.0dev(2026)-1d1e47ad9d
Loading...
Searching...
No Matches
ret_codes.c
Go to the documentation of this file.
1/*!
2 \file lib/db/dbmi_base/ret_codes.c
3
4 \brief DBMI Library (base) - return codes (internal use only)
5
6 \todo Are we as restrictive here as for vector names?
7
8 (C) 1999-2009, 2011 by the GRASS Development Team
9
10 This program is free software under the GNU General Public License
11 (>=v2). Read the file COPYING that comes with GRASS for details.
12
13 \author Joel Jones (CERL/UIUC), Radim Blazek
14 \author Doxygenized by Martin Landa <landa.martin gmail.com> (2011)
15 */
16
17#include <stdlib.h>
18#include <grass/dbmi.h>
19#include "macros.h"
20
21/*!
22 \brief Send success code
23
24 \return DB_OK
25 */
27{
29 return DB_OK;
30}
31
32/*!
33 \brief Send failure code
34
35 \return DB_OK
36 */
43
44/*!
45 \brief Receive return code
46
47 \param[out] ret_code return code
48
49 \return DB_OK on success
50 */
52{
53 dbString err_msg;
54
55 /* get the return code first */
57
58 /* if OK, we're done here */
59 if (*ret_code == DB_OK)
60 return DB_OK;
61
62 /* should be DB_FAILED */
63 if (*ret_code != DB_FAILED) {
65 return DB_PROTOCOL_ERR;
66 }
67 /* get error message from driver */
68 db_init_string(&err_msg);
69 DB_RECV_STRING(&err_msg);
70
71 db_error(db_get_string(&err_msg));
72 db_free_string(&err_msg);
73
74 return DB_OK;
75}
Main header of GRASS DataBase Management Interface.
#define DB_FAILED
Definition dbmi.h:72
#define DB_PROTOCOL_ERR
Definition dbmi.h:75
#define DB_OK
Definition dbmi.h:71
void db_free_string(dbString *)
Free allocated space for dbString.
Definition string.c:150
char * db_get_string(const dbString *)
Get string.
Definition string.c:140
const char * db_get_error_msg(void)
Get error message.
void db_init_string(dbString *)
Initialize dbString.
Definition string.c:25
void db_error(const char *)
Report error message.
void db_protocol_error(void)
Report protocol error.
#define DB_SEND_INT(x)
Definition macros.h:82
#define DB_RECV_INT(x)
Definition macros.h:87
#define DB_RECV_STRING(x)
Definition macros.h:39
#define DB_SEND_C_STRING(x)
Definition macros.h:34
int db__send_success(void)
Send success code.
Definition ret_codes.c:26
int db__send_failure(void)
Send failure code.
Definition ret_codes.c:37
int db__recv_return_code(int *ret_code)
Receive return code.
Definition ret_codes.c:51