diff --git a/src/alice/alice.cpp b/src/alice/alice.cpp index 2262f23e2cb..0ea4983b8f8 100644 --- a/src/alice/alice.cpp +++ b/src/alice/alice.cpp @@ -557,7 +557,7 @@ int alice(Firebird::UtilSvc* uSvc) if (any_error) { - ALICE_print(24); // msg 24: Summary of validation errors\n + ALICE_print(24, SafeArg(), false); // msg 24: Summary of validation errors\n for (int i = 0; i < MAX_VAL_ERRORS; ++i) { @@ -637,13 +637,19 @@ void ALICE_upper_case(const TEXT* in, TEXT* out, const size_t buf_size) // Display a formatted error message // -void ALICE_print(USHORT number, const SafeArg& arg) +void ALICE_print(USHORT number, const SafeArg& arg, const bool isError) { AliceGlobals* tdgbl = AliceGlobals::getSpecific(); if (tdgbl->uSvc->isService()) { + if (!isError) + tdgbl->uSvc->started(); + tdgbl->uSvc->getStatusAccessor().setServiceStatus(ALICE_MSG_FAC, number, arg); - tdgbl->uSvc->started(); + + if (isError) + tdgbl->uSvc->started(); + return; } diff --git a/src/alice/alice_proto.h b/src/alice/alice_proto.h index 7e32c080510..3f7fdc377ce 100644 --- a/src/alice/alice_proto.h +++ b/src/alice/alice_proto.h @@ -34,7 +34,7 @@ int alice(Firebird::UtilSvc*); class AliceGlobals; void ALICE_upper_case(const TEXT*, TEXT*, const size_t); -void ALICE_print(USHORT, const MsgFormat::SafeArg& arg = MsgFormat::SafeArg()); +void ALICE_print(USHORT, const MsgFormat::SafeArg& arg = MsgFormat::SafeArg(), const bool isError = true); void ALICE_error(USHORT, const MsgFormat::SafeArg& arg = MsgFormat::SafeArg()); void ALICE_print_status(bool error, const ISC_STATUS*); void ALICE_exit(int, AliceGlobals*);