Skip to content
Snippets Groups Projects
Commit 145ca364 authored by Peter Eisentraut's avatar Peter Eisentraut
Browse files

pg_test_timing: Some NLS fixes

The string "% of total" was marked by xgettext to be a c-format, but it
is actually not, so mark up the source to prevent that.

Compute the column widths of the final display dynamically based on the
translated strings, so that translations don't mess up the display
accidentally.
parent 3460728c
No related branches found
No related tags found
No related merge requests found
...@@ -172,13 +172,22 @@ output(uint64 loop_count) ...@@ -172,13 +172,22 @@ output(uint64 loop_count)
{ {
int64 max_bit = 31, int64 max_bit = 31,
i; i;
char *header1 = _("< us");
char *header2 = /* xgettext:no-c-format */ _("% of total");
char *header3 = _("count");
int len1 = strlen(header1);
int len2 = strlen(header2);
int len3 = strlen(header3);
/* find highest bit value */ /* find highest bit value */
while (max_bit > 0 && histogram[max_bit] == 0) while (max_bit > 0 && histogram[max_bit] == 0)
max_bit--; max_bit--;
printf(_("Histogram of timing durations:\n")); printf(_("Histogram of timing durations:\n"));
printf("%6s %10s %10s\n", _("< us"), _("% of total"), _("count")); printf("%*s %*s %*s\n",
Max(6, len1), header1,
Max(10, len2), header2,
Max(10, len3), header3);
for (i = 0; i <= max_bit; i++) for (i = 0; i <= max_bit; i++)
{ {
...@@ -186,7 +195,9 @@ output(uint64 loop_count) ...@@ -186,7 +195,9 @@ output(uint64 loop_count)
/* lame hack to work around INT64_FORMAT deficiencies */ /* lame hack to work around INT64_FORMAT deficiencies */
snprintf(buf, sizeof(buf), INT64_FORMAT, histogram[i]); snprintf(buf, sizeof(buf), INT64_FORMAT, histogram[i]);
printf("%6ld %9.5f %10s\n", 1l << i, printf("%*ld %*.5f %*s\n",
(double) histogram[i] * 100 / loop_count, buf); Max(6, len1), 1l << i,
Max(10, len2) - 1, (double) histogram[i] * 100 / loop_count,
Max(10, len3), buf);
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment