From 29278ad33a5c6861ba6b955c411b670ce3a7f493 Mon Sep 17 00:00:00 2001 From: Aleksander Alekseev Date: Mon, 21 Mar 2022 13:37:35 +0300 Subject: [PATCH v3 2/2] Remove workarounds to format int64's in pg_checksums.c Now we can rely on %lld and %llu to be portable, so we can use those in order to reduce code verbosity. The patch also modifies the corresponding .po files. Author: Aleksander Alekseev Author: Japin Li Reviewed-by: Aleksander Alekseev, Japin Li Discussion: https://postgr.es/m/CAJ7c6TMSKi3Xs8h5MP38XOnQQpBLazJvVxVfPn%2B%2BroitDJcR7g%40mail.gmail.com --- src/bin/pg_checksums/pg_checksums.c | 27 ++++++++------------------- src/bin/pg_checksums/po/cs.po | 8 ++++---- src/bin/pg_checksums/po/de.po | 8 ++++---- src/bin/pg_checksums/po/el.po | 8 ++++---- src/bin/pg_checksums/po/es.po | 8 ++++---- src/bin/pg_checksums/po/fr.po | 8 ++++---- src/bin/pg_checksums/po/ja.po | 8 ++++---- src/bin/pg_checksums/po/ko.po | 8 ++++---- src/bin/pg_checksums/po/ru.po | 8 ++++---- src/bin/pg_checksums/po/sv.po | 8 ++++---- src/bin/pg_checksums/po/tr.po | 8 ++++---- src/bin/pg_checksums/po/uk.po | 8 ++++---- src/bin/pg_checksums/po/zh_CN.po | 6 +++--- 13 files changed, 55 insertions(+), 66 deletions(-) diff --git a/src/bin/pg_checksums/pg_checksums.c b/src/bin/pg_checksums/pg_checksums.c index 7e69475947..8509bd15e8 100644 --- a/src/bin/pg_checksums/pg_checksums.c +++ b/src/bin/pg_checksums/pg_checksums.c @@ -132,8 +132,6 @@ static void progress_report(bool finished) { int percent; - char total_size_str[32]; - char current_size_str[32]; pg_time_t now; Assert(showprogress); @@ -152,18 +150,9 @@ progress_report(bool finished) /* Calculate current percentage of size done */ percent = total_size ? (int) ((current_size) * 100 / total_size) : 0; - /* - * Separate step to keep platform-dependent format code out of - * translatable strings. And we only test for INT64_FORMAT availability - * in snprintf, not fprintf. - */ - snprintf(total_size_str, sizeof(total_size_str), INT64_FORMAT, - total_size / (1024 * 1024)); - snprintf(current_size_str, sizeof(current_size_str), INT64_FORMAT, - current_size / (1024 * 1024)); - - fprintf(stderr, _("%*s/%s MB (%d%%) computed"), - (int) strlen(current_size_str), current_size_str, total_size_str, + fprintf(stderr, _("%lld/%lld MB (%d%%) computed"), + (long long)(current_size / (1024 * 1024)), + (long long)(total_size / (1024 * 1024)), percent); /* @@ -657,11 +646,11 @@ main(int argc, char *argv[]) progress_report(true); printf(_("Checksum operation completed\n")); - printf(_("Files scanned: %s\n"), psprintf(INT64_FORMAT, files_scanned)); - printf(_("Blocks scanned: %s\n"), psprintf(INT64_FORMAT, blocks_scanned)); + printf(_("Files scanned: %lld\n"), (long long)files_scanned); + printf(_("Blocks scanned: %lld\n"), (long long)blocks_scanned); if (mode == PG_MODE_CHECK) { - printf(_("Bad checksums: %s\n"), psprintf(INT64_FORMAT, badblocks)); + printf(_("Bad checksums: %lld\n"), (long long)badblocks); printf(_("Data checksum version: %u\n"), ControlFile->data_checksum_version); if (badblocks > 0) @@ -669,8 +658,8 @@ main(int argc, char *argv[]) } else if (mode == PG_MODE_ENABLE) { - printf(_("Files written: %s\n"), psprintf(INT64_FORMAT, files_written)); - printf(_("Blocks written: %s\n"), psprintf(INT64_FORMAT, blocks_written)); + printf(_("Files written: %lld\n"), (long long)files_written); + printf(_("Blocks written: %lld\n"), (long long)blocks_written); } } diff --git a/src/bin/pg_checksums/po/cs.po b/src/bin/pg_checksums/po/cs.po index df56be82bb..071bdc17a5 100644 --- a/src/bin/pg_checksums/po/cs.po +++ b/src/bin/pg_checksums/po/cs.po @@ -135,8 +135,8 @@ msgstr "%s domácí stránka: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) zpracováno" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) zpracováno" #: pg_checksums.c:207 #, c-format @@ -280,8 +280,8 @@ msgstr "Přečtené datové bloky: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Chybné kontrolní součty: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Chybné kontrolní součty: %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/de.po b/src/bin/pg_checksums/po/de.po index d30fb2bd55..2b876c722c 100644 --- a/src/bin/pg_checksums/po/de.po +++ b/src/bin/pg_checksums/po/de.po @@ -136,8 +136,8 @@ msgstr "%s Homepage: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) berechnet" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%ldd/%lld MB (%d%%) berechnet" #: pg_checksums.c:207 #, c-format @@ -281,8 +281,8 @@ msgstr "Überprüfte Blöcke: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Falsche Prüfsummen: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Falsche Prüfsummen: %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/el.po b/src/bin/pg_checksums/po/el.po index cb72eabcbe..994abe40e0 100644 --- a/src/bin/pg_checksums/po/el.po +++ b/src/bin/pg_checksums/po/el.po @@ -135,8 +135,8 @@ msgstr "%s αρχική σελίδα: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) Υπολογίζεται" +msgid "%lld/%ldd MB (%d%%) computed" +msgstr "%ldd/%lld MB (%d%%) Υπολογίζεται" #: pg_checksums.c:207 #, c-format @@ -280,8 +280,8 @@ msgstr "Μπλοκ που σαρώθηκαν: %s\n" #: pg_checksums.c:644 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Εσφαλμένα αθροίσματα ελέγχου: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Εσφαλμένα αθροίσματα ελέγχου: %lld\n" #: pg_checksums.c:645 pg_checksums.c:672 #, c-format diff --git a/src/bin/pg_checksums/po/es.po b/src/bin/pg_checksums/po/es.po index 3b7e35c8cd..4f3efe76eb 100644 --- a/src/bin/pg_checksums/po/es.po +++ b/src/bin/pg_checksums/po/es.po @@ -138,8 +138,8 @@ msgstr "Sitio web de %s: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) calculado" +msgid "%ldd/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) calculado" #: pg_checksums.c:207 #, c-format @@ -283,8 +283,8 @@ msgstr "Bloques recorridos: %s\n" #: pg_checksums.c:644 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Checksums incorrectos: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Checksums incorrectos: %lld\n" #: pg_checksums.c:645 pg_checksums.c:672 #, c-format diff --git a/src/bin/pg_checksums/po/fr.po b/src/bin/pg_checksums/po/fr.po index 40633c5166..02523287fb 100644 --- a/src/bin/pg_checksums/po/fr.po +++ b/src/bin/pg_checksums/po/fr.po @@ -135,8 +135,8 @@ msgstr "page d'accueil de %s : <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s Mo (%d%%) traités" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%ldd Mo (%d%%) traités" #: pg_checksums.c:207 #, c-format @@ -280,8 +280,8 @@ msgstr "Blocs parcourus : %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Mauvaises sommes de contrôle : %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Mauvaises sommes de contrôle : %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/ja.po b/src/bin/pg_checksums/po/ja.po index f43465a0e4..f4a1820438 100644 --- a/src/bin/pg_checksums/po/ja.po +++ b/src/bin/pg_checksums/po/ja.po @@ -133,8 +133,8 @@ msgstr "%s ホームページ: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) 完了" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) 完了" #: pg_checksums.c:207 #, c-format @@ -278,8 +278,8 @@ msgstr "スキャンしたブロック数: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "不正なチェックサム数: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "不正なチェックサム数: %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/ko.po b/src/bin/pg_checksums/po/ko.po index ff767cfc7d..a8edd966e5 100644 --- a/src/bin/pg_checksums/po/ko.po +++ b/src/bin/pg_checksums/po/ko.po @@ -141,8 +141,8 @@ msgstr "%s 홈페이지: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) 계산됨" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) 계산됨" #: pg_checksums.c:207 #, c-format @@ -294,8 +294,8 @@ msgstr "조사한 블럭수: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "잘못된 체크섬: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "잘못된 체크섬: %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/ru.po b/src/bin/pg_checksums/po/ru.po index 8e48580af0..a533279843 100644 --- a/src/bin/pg_checksums/po/ru.po +++ b/src/bin/pg_checksums/po/ru.po @@ -141,8 +141,8 @@ msgstr "Домашняя страница %s: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s МБ (%d%%) обработано" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld МБ (%d%%) обработано" #: pg_checksums.c:207 #, c-format @@ -294,8 +294,8 @@ msgstr "Просканировано блоков: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Неверные контрольные суммы: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Неверные контрольные суммы: %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/sv.po b/src/bin/pg_checksums/po/sv.po index ce92a966e3..8b2f422531 100644 --- a/src/bin/pg_checksums/po/sv.po +++ b/src/bin/pg_checksums/po/sv.po @@ -135,8 +135,8 @@ msgstr "hemsida för %s: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) beräknad" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) beräknad" #: pg_checksums.c:204 #, c-format @@ -280,8 +280,8 @@ msgstr "Skannade block: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Felaktiga kontrollsummor: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Felaktiga kontrollsummor: %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/tr.po b/src/bin/pg_checksums/po/tr.po index 3bd40db784..b07e517aa3 100644 --- a/src/bin/pg_checksums/po/tr.po +++ b/src/bin/pg_checksums/po/tr.po @@ -131,8 +131,8 @@ msgstr "Hataları adresine bildirebilirsiniz.\ #: pg_checksums.c:149 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) hesaplandı" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) hesaplandı" #: pg_checksums.c:186 #, c-format @@ -266,8 +266,8 @@ msgstr "Taranan bloklar: %s\n" #: pg_checksums.c:563 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Yanlış sağlama toplamları: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Yanlış sağlama toplamları: %lld\n" #: pg_checksums.c:564 pg_checksums.c:591 #, c-format diff --git a/src/bin/pg_checksums/po/uk.po b/src/bin/pg_checksums/po/uk.po index 15bfe6a47c..f005db85a9 100644 --- a/src/bin/pg_checksums/po/uk.po +++ b/src/bin/pg_checksums/po/uk.po @@ -124,8 +124,8 @@ msgstr "Домашня сторінка %s: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) обчислено" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) обчислено" #: pg_checksums.c:207 #, c-format @@ -269,8 +269,8 @@ msgstr "Блоків відскановано: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" -msgstr "Неправильні контрольні суми: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "Неправильні контрольні суми: %lld\n" #: pg_checksums.c:638 pg_checksums.c:665 #, c-format diff --git a/src/bin/pg_checksums/po/zh_CN.po b/src/bin/pg_checksums/po/zh_CN.po index 012872b87a..5c621fc013 100644 --- a/src/bin/pg_checksums/po/zh_CN.po +++ b/src/bin/pg_checksums/po/zh_CN.po @@ -134,8 +134,8 @@ msgstr "%s 主页: <%s>\n" #: pg_checksums.c:161 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "已计算%*s/%s MB (%d%%)" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "已计算%lld/%lld MB (%d%%)" #: pg_checksums.c:204 #, c-format @@ -279,7 +279,7 @@ msgstr "扫描的块: %s\n" #: pg_checksums.c:637 #, c-format -msgid "Bad checksums: %s\n" +msgid "Bad checksums: %lld\n" msgstr "坏校验和: %s\n" #: pg_checksums.c:638 pg_checksums.c:665 -- 2.35.1