GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
c_close_cur.c
Go to the documentation of this file.
1 
15 #include <stdlib.h>
16 #include <grass/dbmi.h>
17 #include "macros.h"
18 
27 int db_close_cursor(dbCursor * cursor)
28 {
29  int ret_code;
30 
31  /* start the procedure call */
32  db__set_protocol_fds(cursor->driver->send, cursor->driver->recv);
33  DB_START_PROCEDURE_CALL(DB_PROC_CLOSE_CURSOR);
34 
35  /* send the argument(s) to the procedure */
36  DB_SEND_TOKEN(&cursor->token);
37 
38  /* get the return code for the procedure call */
39  DB_RECV_RETURN_CODE(&ret_code);
40 
41  if (ret_code != DB_OK)
42  return ret_code; /* ret_code SHOULD == DB_FAILED */
43 
44  db_free_cursor(cursor);
45 
46  /* no results */
47  return DB_OK;
48 }
int db_close_cursor(dbCursor *cursor)
Close cursor.
Definition: c_close_cur.c:27
void db__set_protocol_fds(FILE *send, FILE *recv)
Definition: xdr.c:71
#define DB_START_PROCEDURE_CALL(x)
Definition: macros.h:2
#define DB_RECV_RETURN_CODE(x)
Definition: macros.h:4
void db_free_cursor(dbCursor *cursor)
Definition: cursor.c:40
#define DB_SEND_TOKEN(x)
Definition: macros.h:97