-
-
Notifications
You must be signed in to change notification settings - Fork 302
/
c_list_drivers.c
46 lines (40 loc) · 1.03 KB
/
c_list_drivers.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*!
* \file db/dbmi_client/c_list_drivers.c
*
* \brief DBMI Library (client) - list drivers
*
* (C) 1999-2008 by the GRASS Development Team
*
* This program is free software under the GNU General Public
* License (>=v2). Read the file COPYING that comes with GRASS
* for details.
*
* \author Joel Jones (CERL/UIUC), Radim Blazek
*/
#include <grass/dbmi.h>
/*!
\brief Return comma separated list of existing DB drivers, used for driver parameter options
\return list of db drivers
*/
const char *db_list_drivers(void)
{
dbDbmscap *list, *cur;
dbString drivernames;
db_init_string(&drivernames);
/* read the dbmscap info */
if (NULL == (list = db_read_dbmscap()))
return NULL;
else {
/* build the comma separated string of existing drivers */
for (cur = list; cur; cur = cur->next) {
if (cur->driverName == '\0')
break;
else {
if (cur != list)
db_append_string(&drivernames, ",");
db_append_string(&drivernames, cur->driverName);
}
}
}
return db_get_string(&drivernames);
}