#ifdef HAVE_BACULA_DB
+uint32_t bacula_db_version = 0;
+
/* Forward referenced functions */
-extern char *working_directory;
+extern const char *working_directory;
/* List of open databases */
static BQUEUE db_list = {&db_list, &db_list};
} else {
sep = '/';
}
- Mmsg(&dbf, "%s%c%s-%s", working_directory, sep, mdb->db_name, name);
+ Mmsg(dbf, "%s%c%s-%s", working_directory, sep, mdb->db_name, name);
return dbf;
}
* never have errors, or it is really fatal.
*/
B_DB *
-db_init_database(void *jcr, char *db_name, char *db_user, char *db_password,
+db_init_database(JCR *jcr, char *db_name, char *db_user, char *db_password,
char *db_address, int db_port, char *db_socket)
{
B_DB *mdb;
* which are returned in the errmsg
*/
int
-db_open_database(void *jcr, B_DB *mdb)
+db_open_database(JCR *jcr, B_DB *mdb)
{
char *dbf;
int fd, badctl;
BDB_VERSION, mdb->control.bdb_version);
badctl = 1;
}
+ bacula_db_version = mdb->control.bdb_version;
if (badctl) {
V(mutex);
return 0;
return 1;
}
-void db_close_database(void *jcr, B_DB *mdb)
+void db_close_database(JCR *jcr, B_DB *mdb)
{
P(mutex);
mdb->ref_count--;
if (mdb->filesetfd) {
fclose(mdb->filesetfd);
}
-/* pthread_mutex_destroy(&mdb->mutex); */
rwl_destroy(&mdb->lock);
free_pool_memory(mdb->errmsg);
free_pool_memory(mdb->cmd);
void db_escape_string(char *snew, char *old, int len)
{
- strcpy(snew, old);
+ memset(snew, 0, len);
+ bstrncpy(snew, old, len);
}
char *db_strerror(B_DB *mdb)
* much more efficient. Usually started when inserting
* file attributes.
*/
-void db_start_transaction(void *jcr, B_DB *mdb)
+void db_start_transaction(JCR *jcr, B_DB *mdb)
{
}
-void db_end_transaction(void *jcr, B_DB *mdb)
+void db_end_transaction(JCR *jcr, B_DB *mdb)
{
}