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

Function blr_print_verb

src/yvalve/gds.cpp:3366–3984  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3364
3365
3366static void blr_print_verb(gds_ctl* control, SSHORT level)
3367{
3368/**************************************
3369 *
3370 * b l r _ p r i n t _ v e r b
3371 *
3372 **************************************
3373 *
3374 * Functional description
3375 * Primary recursive routine to print BLR.
3376 *
3377 **************************************/
3378 SLONG offset = control->ctl_blr_reader.getOffset();
3379 blr_indent(control, level);
3380 UCHAR blr_operator = control->ctl_blr_reader.getByte();
3381
3382 if (blr_operator == blr_end)
3383 {
3384 blr_format(control, "blr_end, ");
3385 blr_print_line(control, (SSHORT) offset);
3386 return;
3387 }
3388
3389 blr_print_blr(control, blr_operator);
3390 level++;
3391 const UCHAR* ops = blr_print_table[blr_operator].blr_operators;
3392 SSHORT n;
3393
3394 while (*ops)
3395 {
3396 const UCHAR op = *ops++;
3397
3398 switch (op)
3399 {
3400 case op_verb:
3401 blr_print_verb(control, level);
3402 break;
3403
3404 case op_line:
3405 offset = blr_print_line(control, (SSHORT) offset);
3406 break;
3407
3408 case op_byte:
3409 n = blr_print_byte(control);
3410 break;
3411
3412 case op_byte_opt_verb:
3413 n = blr_print_byte(control);
3414 blr_print_line(control, (SSHORT) offset);
3415 if (n != 0)
3416 blr_print_verb(control, level);
3417 break;
3418
3419 case op_word:
3420 n = blr_print_word(control);
3421 break;
3422
3423 case op_pad:

Callers 2

API_ROUTINE fb_print_blrFunction · 0.85
blr_print_condFunction · 0.85

Calls 15

blr_indentFunction · 0.85
blr_print_lineFunction · 0.85
blr_print_blrFunction · 0.85
blr_print_byteFunction · 0.85
blr_print_wordFunction · 0.85
blr_print_dtypeFunction · 0.85
blr_print_charFunction · 0.85
blr_print_joinFunction · 0.85
blr_print_condFunction · 0.85
blr_errorFunction · 0.85
peekByteMethod · 0.80
seekBackwardMethod · 0.80

Tested by

no test coverage detected