GRASS 8 Programmer's Manual 8.6.0dev(2026)-1878fdfec5
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 SPDX-FileCopyrightText: 1999-2009, 2011 GRASS Development Team
9 SPDX-License-Identifier: GPL-2.0-or-later
10
11 \author Joel Jones (CERL/UIUC), Radim Blazek
12 \author Doxygenized by Martin Landa <landa.martin gmail.com> (2011)
13 */
14
15#include <stdlib.h>
16#include <grass/dbmi.h>
17#include "macros.h"
18
19/*!
20 \brief Send success code
21
22 \return DB_OK
23 */
25{
27 return DB_OK;
28}
29
30/*!
31 \brief Send failure code
32
33 \return DB_OK
34 */
41
42/*!
43 \brief Receive return code
44
45 \param[out] ret_code return code
46
47 \return DB_OK on success
48 */
50{
51 dbString err_msg;
52
53 /* get the return code first */
55
56 /* if OK, we're done here */
57 if (*ret_code == DB_OK)
58 return DB_OK;
59
60 /* should be DB_FAILED */
61 if (*ret_code != DB_FAILED) {
63 return DB_PROTOCOL_ERR;
64 }
65 /* get error message from driver */
66 db_init_string(&err_msg);
67 DB_RECV_STRING(&err_msg);
68
69 db_error(db_get_string(&err_msg));
70 db_free_string(&err_msg);
71
72 return DB_OK;
73}
Main header of GRASS DataBase Management Interface.
#define DB_FAILED
Definition dbmi.h:70
#define DB_PROTOCOL_ERR
Definition dbmi.h:73
#define DB_OK
Definition dbmi.h:69
void db_free_string(dbString *)
Free allocated space for dbString.
Definition string.c:148
char * db_get_string(const dbString *)
Get string.
Definition string.c:138
const char * db_get_error_msg(void)
Get error message.
void db_init_string(dbString *)
Initialize dbString.
Definition string.c:23
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:24
int db__send_failure(void)
Send failure code.
Definition ret_codes.c:35
int db__recv_return_code(int *ret_code)
Receive return code.
Definition ret_codes.c:49