MCPcopy Create free account
hub / github.com/apache/cloudberry / print_troff_ms_text

Function print_troff_ms_text

src/fe_utils/print.c:2713–2802  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2711
2712
2713static void
2714print_troff_ms_text(const printTableContent *cont, FILE *fout)
2715{
2716 bool opt_tuples_only = cont->opt->tuples_only;
2717 unsigned short opt_border = cont->opt->border;
2718 unsigned int i;
2719 const char *const *ptr;
2720
2721 if (cancel_pressed)
2722 return;
2723
2724 if (opt_border > 2)
2725 opt_border = 2;
2726
2727 if (cont->opt->start_table)
2728 {
2729 /* print title */
2730 if (!opt_tuples_only && cont->title)
2731 {
2732 fputs(".LP\n.DS C\n", fout);
2733 troff_ms_escaped_print(cont->title, fout);
2734 fputs("\n.DE\n", fout);
2735 }
2736
2737 /* begin environment and set alignments and borders */
2738 fputs(".LP\n.TS\n", fout);
2739 if (opt_border == 2)
2740 fputs("center box;\n", fout);
2741 else
2742 fputs("center;\n", fout);
2743
2744 for (i = 0; i < cont->ncolumns; i++)
2745 {
2746 fputc(*(cont->aligns + i), fout);
2747 if (opt_border > 0 && i < cont->ncolumns - 1)
2748 fputs(" | ", fout);
2749 }
2750 fputs(".\n", fout);
2751
2752 /* print headers */
2753 if (!opt_tuples_only)
2754 {
2755 for (i = 0, ptr = cont->headers; i < cont->ncolumns; i++, ptr++)
2756 {
2757 if (i != 0)
2758 fputc('\t', fout);
2759 fputs("\\fI", fout);
2760 troff_ms_escaped_print(*ptr, fout);
2761 fputs("\\fP", fout);
2762 }
2763 fputs("\n_\n", fout);
2764 }
2765 }
2766
2767 /* print cells */
2768 for (i = 0, ptr = cont->cells; *ptr; i++, ptr++)
2769 {
2770 troff_ms_escaped_print(*ptr, fout);

Callers 1

printTableFunction · 0.85

Calls 2

troff_ms_escaped_printFunction · 0.85
footers_with_defaultFunction · 0.85

Tested by

no test coverage detected