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

Function do_codes

src/msgs/build_file.cpp:215–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

213
214
215static void do_codes(const TEXT* gen_c_filename, const TEXT* gen_pas_filename)
216{
217 unsigned symbol_count = 0;
218 FILE* gen_c_file = nullptr;
219 FILE* gen_pas_file = nullptr;
220
221 if (*gen_c_filename)
222 {
223 if (!(gen_c_file = fopen(gen_c_filename, "w")))
224 {
225 perror(gen_c_filename);
226 exit(FINI_ERROR);
227 }
228
229 fprintf(gen_c_file, "/*\n");
230
231 for (const auto line : LICENSE_LINES)
232 fprintf(gen_c_file, " * %s\n", line);
233
234 fprintf(gen_c_file, " */\n\n");
235 }
236
237 if (*gen_pas_filename)
238 {
239 if (!(gen_pas_file = fopen(gen_pas_filename, "w")))
240 {
241 perror(gen_pas_filename);
242 exit(FINI_ERROR);
243 }
244 }
245
246 for (const auto& message : messages)
247 {
248 if (message.complete)
249 {
250 ++symbol_count;
251
252 if (*gen_c_filename)
253 {
254 fprintf(gen_c_file, "#define isc_%s %uL\n",
255 message.symbol,
256 (unsigned) FB_IMPL_MSG_ENCODE(message.number, message.facCode));
257 }
258
259 if (*gen_pas_filename)
260 {
261 fprintf(gen_pas_file, "\t isc_%s = %u;\n",
262 message.symbol,
263 (unsigned) FB_IMPL_MSG_ENCODE(message.number, message.facCode));
264
265 fprintf(gen_pas_file, "\t gds_%s = %u;\n",
266 message.symbol,
267 (unsigned) FB_IMPL_MSG_ENCODE(message.number, message.facCode));
268 }
269 }
270 }
271
272 if (*gen_c_filename)

Callers 1

CLIB_ROUTINE mainFunction · 0.85

Calls 2

fcloseFunction · 0.85
fopenFunction · 0.50

Tested by

no test coverage detected