[Refdb-cvs] CVS: refdb/src refdbda.c,1.34,1.35
Status: Beta
Brought to you by:
mhoenicka
From: Markus H. <mho...@us...> - 2003-12-28 21:36:49
|
Update of /cvsroot/refdb/refdb/src In directory sc8-pr-cvs1:/tmp/cvs-serv11441 Modified Files: refdbda.c Log Message: selectdb() now checks type of database and returns useful status message Index: refdbda.c =================================================================== RCS file: /cvsroot/refdb/refdb/src/refdbda.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -U2 -r1.34 -r1.35 --- refdbda.c 26 Dec 2003 21:16:11 -0000 1.34 +++ refdbda.c 28 Dec 2003 21:36:46 -0000 1.35 @@ -554,4 +554,5 @@ if (select) { + /* selectdb */ if (ptr_clrequest->n_cgi) { iwrite(ptr_clrequest->fd, cgihead_html.text, cgihead_html.length); @@ -565,11 +566,22 @@ dbname = dbi_result_get_string_idx(dbires, 1); /* 1-based index */ if (dbname) { - if (strlen(dbname) > DBNAME_LENGTH) { - iwrite(ptr_clrequest->fd, dbname, DBNAME_LENGTH); + if (is_reference_database(ptr_clrequest, dbname)) { + if (strlen(dbname) > DBNAME_LENGTH) { + iwrite(ptr_clrequest->fd, dbname, DBNAME_LENGTH); + } + else { + iwrite(ptr_clrequest->fd, dbname, strlen(dbname)); + } } else { - iwrite(ptr_clrequest->fd, dbname, strlen(dbname)); + iwrite(ptr_clrequest->fd, "not a RefDB database\n", 21); } } + else { + iwrite(ptr_clrequest->fd, "not a RefDB database\n", 21); + } + } + else { + iwrite(ptr_clrequest->fd, "database does not exist\n", 24); } if (ptr_clrequest->n_cgi) { @@ -580,4 +592,5 @@ } else { + /* listdb */ if (ptr_clrequest->n_cgi) { iwrite(ptr_clrequest->fd, cgihead_html.text, cgihead_html.length); |