MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / set_status

Method set_status

src/common/fb_exception.cpp:90–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

88}
89
90void status_exception::set_status(const ISC_STATUS *new_vector) throw()
91{
92 fb_assert(new_vector != 0);
93 unsigned len = fb_utils::statusLength(new_vector);
94
95 try
96 {
97 if (len >= FB_NELEM(m_buffer))
98 {
99 m_status_vector = FB_NEW_POOL(*getDefaultMemoryPool()) ISC_STATUS[len + 1];
100 }
101 len = makeDynamicStrings(len, m_status_vector, new_vector);
102 m_status_vector[len] = isc_arg_end;
103 }
104 catch (const Exception&)
105 {
106 if (m_status_vector != m_buffer)
107 {
108 delete[] m_status_vector;
109 m_status_vector = m_buffer;
110 }
111 processUnexpectedException(m_buffer);
112 }
113}
114
115status_exception::~status_exception() throw()
116{

Callers

nothing calls this directly

Calls 3

statusLengthFunction · 0.85
getDefaultMemoryPoolFunction · 0.85
makeDynamicStringsFunction · 0.85

Tested by

no test coverage detected