____________________________________________________________ An error returned has been trapped. If the user specified a status vector, return a status code. Otherwise print the error code(s) and abort.
| 1045 | // error code(s) and abort. |
| 1046 | // |
| 1047 | static ISC_STATUS error(const Firebird::Exception& ex) |
| 1048 | { |
| 1049 | Firebird::StaticStatusVector v; |
| 1050 | ex.stuffException(v); |
| 1051 | makePermanentVector(v.begin()); |
| 1052 | |
| 1053 | if (UDSQL_error->dsql_user_status) |
| 1054 | { |
| 1055 | fb_utils::copyStatus(UDSQL_error->dsql_user_status, ISC_STATUS_LENGTH, v.begin(), v.getCount()); |
| 1056 | return UDSQL_error->dsql_user_status[1]; |
| 1057 | } |
| 1058 | |
| 1059 | fb_utils::copyStatus(UDSQL_error->dsql_status, ISC_STATUS_LENGTH, v.begin(), v.getCount()); |
| 1060 | gds__print_status(UDSQL_error->dsql_status); |
| 1061 | exit(UDSQL_error->dsql_status[1]); |
| 1062 | |
| 1063 | return 0; // suppress compiler warning |
| 1064 | } |
| 1065 | |
| 1066 | |
| 1067 | static ISC_STATUS error() |
no test coverage detected