8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 16:03:02 +01:00

1. Fixed bug #908319 2. Fixed inability to restore into nonexisting file with -se switch used

This commit is contained in:
hvlad 2005-05-14 13:45:01 +00:00
parent 862a8fdcc3
commit af740ca41a
2 changed files with 12 additions and 7 deletions

View File

@ -24,7 +24,7 @@
// //
//____________________________________________________________ //____________________________________________________________
// //
// $Id: alice.cpp,v 1.75 2004-11-28 01:01:43 robocop Exp $ // $Id: alice.cpp,v 1.76 2005-05-14 13:44:55 hvlad Exp $
// //
// 2001.07.06 Sean Leyne - Code Cleanup, removed "#ifdef READONLY_DATABASE" // 2001.07.06 Sean Leyne - Code Cleanup, removed "#ifdef READONLY_DATABASE"
// conditionals, as the engine now fully supports // conditionals, as the engine now fully supports
@ -687,8 +687,10 @@ void ALICE_print_status(const ISC_STATUS* status_vector)
AliceGlobals* tdgbl = AliceGlobals::getSpecific(); AliceGlobals* tdgbl = AliceGlobals::getSpecific();
ISC_STATUS* status = tdgbl->service_blk->svc_status; ISC_STATUS* status = tdgbl->service_blk->svc_status;
if (status != status_vector) { if (status != status_vector) {
while (*status && (++i < ISC_STATUS_LENGTH)) { if (status[1]) {
status++; while (*status && (++i < ISC_STATUS_LENGTH)) {
status++;
}
} }
for (int j = 0; status_vector[j] && (i < ISC_STATUS_LENGTH); j++, i++) { for (int j = 0; status_vector[j] && (i < ISC_STATUS_LENGTH); j++, i++) {
*status++ = status_vector[j]; *status++ = status_vector[j];

View File

@ -1473,9 +1473,11 @@ void BURP_print_status(const ISC_STATUS* status_vector)
BurpGlobals* tdgbl = BurpGlobals::getSpecific(); BurpGlobals* tdgbl = BurpGlobals::getSpecific();
ISC_STATUS* status = tdgbl->service_blk->svc_status; ISC_STATUS* status = tdgbl->service_blk->svc_status;
if (status != status_vector) { if (status != status_vector) {
int i = 0; int i = 0;
while (*status && (++i < ISC_STATUS_LENGTH)) if (status[1]) {
status++; while (*status && (++i < ISC_STATUS_LENGTH))
status++;
}
for (int j = 0; status_vector[j] && (i < ISC_STATUS_LENGTH); j++, i++) for (int j = 0; status_vector[j] && (i < ISC_STATUS_LENGTH); j++, i++)
*status++ = status_vector[j]; *status++ = status_vector[j];
} }
@ -1651,7 +1653,8 @@ static gbak_action open_files(const TEXT* file1,
* *
**************************************/ **************************************/
BurpGlobals* tdgbl = BurpGlobals::getSpecific(); BurpGlobals* tdgbl = BurpGlobals::getSpecific();
ISC_STATUS* status_vector = tdgbl->status; ISC_STATUS_ARRAY temp_status;
ISC_STATUS* status_vector = temp_status;
// try to attach the database using the first file_name // try to attach the database using the first file_name