From 9d0de4bac7fcbd9cb0da80e48f5e3f1f146f48f2 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 29 May 2019 16:10:04 +0200 Subject: [PATCH] + fix: some format strings for dialogs displaying long integers (DocPos) converted to int --- language/np3_af_za/strings_af_za.rc | 4 ++-- language/np3_be_by/strings_be_by.rc | 4 ++-- language/np3_de_de/strings_de_de.rc | 4 ++-- language/np3_en_gb/strings_en_gb.rc | 4 ++-- language/np3_en_us/strings_en_us.rc | 4 ++-- language/np3_es_es/strings_es_es.rc | 4 ++-- language/np3_fr_fr/strings_fr_fr.rc | 4 ++-- language/np3_hu_hu/strings_hu_hu.rc | 4 ++-- language/np3_it_it/strings_it_it.rc | 4 ++-- language/np3_ja_jp/strings_ja_jp.rc | 4 ++-- language/np3_ko_kr/strings_ko_kr.rc | 4 ++-- language/np3_nl_nl/strings_nl_nl.rc | 4 ++-- language/np3_pl_pl/strings_pl_pl.rc | 4 ++-- language/np3_pt_br/strings_pt_br.rc | 4 ++-- language/np3_ru_ru/strings_ru_ru.rc | 4 ++-- language/np3_zh_cn/strings_zh_cn.rc | 4 ++-- src/Edit.c | 9 +++++---- src/Helpers.c | 6 +++--- src/Helpers.h | 10 ++++++++-- src/Notepad3.c | 2 +- 20 files changed, 49 insertions(+), 42 deletions(-) diff --git a/language/np3_af_za/strings_af_za.rc b/language/np3_af_za/strings_af_za.rc index 547ed6a44..c11f96d72 100644 --- a/language/np3_af_za/strings_af_za.rc +++ b/language/np3_af_za/strings_af_za.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Geassosieerde lernaam uitbreidings:" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Zero-Length Match" - IDS_MUI_GOTO_LINE "Line (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Column (1 - %lli):" + IDS_MUI_GOTO_LINE "Line (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Column (1 - %ti):" END STRINGTABLE diff --git a/language/np3_be_by/strings_be_by.rc b/language/np3_be_by/strings_be_by.rc index 7a1778b8f..788a02e89 100644 --- a/language/np3_be_by/strings_be_by.rc +++ b/language/np3_be_by/strings_be_by.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT " :" IDS_MUI_EXAMPLE_TEXT " ' , 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ " - IDS_MUI_GOTO_LINE " (1 - %lli):" - IDS_MUI_GOTO_COLUMN " (1 - %lli):" + IDS_MUI_GOTO_LINE " (1 - %ti):" + IDS_MUI_GOTO_COLUMN " (1 - %ti):" END STRINGTABLE diff --git a/language/np3_de_de/strings_de_de.rc b/language/np3_de_de/strings_de_de.rc index b58c1cfa1..12f49f249 100644 --- a/language/np3_de_de/strings_de_de.rc +++ b/language/np3_de_de/strings_de_de.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Zugeordnete Dateitypen:" IDS_MUI_EXAMPLE_TEXT "Zwlf laxe Typen qualmen verdchtig se Objekte, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Null-Lngen-Fund" - IDS_MUI_GOTO_LINE "Zeile (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Spalte (1 - %lli):" + IDS_MUI_GOTO_LINE "Zeile (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Spalte (1 - %ti):" END STRINGTABLE diff --git a/language/np3_en_gb/strings_en_gb.rc b/language/np3_en_gb/strings_en_gb.rc index bd4c15192..6d8fac6ba 100644 --- a/language/np3_en_gb/strings_en_gb.rc +++ b/language/np3_en_gb/strings_en_gb.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Associated filename extensions:" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Zero-Length Match" - IDS_MUI_GOTO_LINE "Line (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Column (1 - %lli):" + IDS_MUI_GOTO_LINE "Line (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Column (1 - %ti):" END STRINGTABLE diff --git a/language/np3_en_us/strings_en_us.rc b/language/np3_en_us/strings_en_us.rc index 7ba68872a..783b6dfee 100644 --- a/language/np3_en_us/strings_en_us.rc +++ b/language/np3_en_us/strings_en_us.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Associated filename extensions:" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Zero-Length Match" - IDS_MUI_GOTO_LINE "Line (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Column (1 - %lli):" + IDS_MUI_GOTO_LINE "Line (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Column (1 - %ti):" END STRINGTABLE diff --git a/language/np3_es_es/strings_es_es.rc b/language/np3_es_es/strings_es_es.rc index 3adda2118..0fd861e9f 100644 --- a/language/np3_es_es/strings_es_es.rc +++ b/language/np3_es_es/strings_es_es.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Extensiones de nombre de archivo asociadas:" IDS_MUI_EXAMPLE_TEXT "El veloz murcilago hind coma feliz cardillo y kiwi. La cigea tocaba el saxofn detrs del palenque de paja, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Corresponde a longitud cero" - IDS_MUI_GOTO_LINE "Lnea (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Columna (1 - %lli):" + IDS_MUI_GOTO_LINE "Lnea (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Columna (1 - %ti):" END STRINGTABLE diff --git a/language/np3_fr_fr/strings_fr_fr.rc b/language/np3_fr_fr/strings_fr_fr.rc index 80718c848..bd6c37763 100644 --- a/language/np3_fr_fr/strings_fr_fr.rc +++ b/language/np3_fr_fr/strings_fr_fr.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Extensions des fichiers associs:" IDS_MUI_EXAMPLE_TEXT "Voix ambigu d'un cur qui au zphyr prfre les jattes de kiwis, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Correspond longueur zro" - IDS_MUI_GOTO_LINE "Ligne (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Colonne (1 - %lli):" + IDS_MUI_GOTO_LINE "Ligne (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Colonne (1 - %ti):" END STRINGTABLE diff --git a/language/np3_hu_hu/strings_hu_hu.rc b/language/np3_hu_hu/strings_hu_hu.rc index 2760d25c2..b5ea4caa5 100644 --- a/language/np3_hu_hu/strings_hu_hu.rc +++ b/language/np3_hu_hu/strings_hu_hu.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Hozzrendelt kiterjesztsek:" IDS_MUI_EXAMPLE_TEXT "rvztr tkrfrgp, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Nulla hossz egyezs" - IDS_MUI_GOTO_LINE "Sor (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Oszlop (1 - %lli):" + IDS_MUI_GOTO_LINE "Sor (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Oszlop (1 - %ti):" END STRINGTABLE diff --git a/language/np3_it_it/strings_it_it.rc b/language/np3_it_it/strings_it_it.rc index 63e115f2c..bcf871f27 100644 --- a/language/np3_it_it/strings_it_it.rc +++ b/language/np3_it_it/strings_it_it.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Estensioni associate:" IDS_MUI_EXAMPLE_TEXT "Nel Quebec zio John postava: W Eddy Merckx in fuga!, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Zero-Length Match" - IDS_MUI_GOTO_LINE "Riga (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Colonna (1 - %lli):" + IDS_MUI_GOTO_LINE "Riga (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Colonna (1 - %ti):" END STRINGTABLE diff --git a/language/np3_ja_jp/strings_ja_jp.rc b/language/np3_ja_jp/strings_ja_jp.rc index 3344ff6e8..603df72a8 100644 --- a/language/np3_ja_jp/strings_ja_jp.rc +++ b/language/np3_ja_jp/strings_ja_jp.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "֘Att@Cgq:" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789.\n͂ɂقւ ʂ 킩悽ꂻ ‚˂Ȃ ̂ ӂ ߂݂ ЂB\nƂĂYȗ[A񓮂āAтB悭ꂻB" IDS_MUI_ZERO_LEN_MATCH "^ 󕶎Ɉv" - IDS_MUI_GOTO_LINE "s (1 - %lli):" - IDS_MUI_GOTO_COLUMN " (1 - %lli):" + IDS_MUI_GOTO_LINE "s (1 - %ti):" + IDS_MUI_GOTO_COLUMN " (1 - %ti):" END STRINGTABLE diff --git a/language/np3_ko_kr/strings_ko_kr.rc b/language/np3_ko_kr/strings_ko_kr.rc index 636e099e8..a6713f144 100644 --- a/language/np3_ko_kr/strings_ko_kr.rc +++ b/language/np3_ko_kr/strings_ko_kr.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT " Ȯ:" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789.\r\n 찡 پ Ѿ.\r\n\\ * & ^ % $ # @ ! ~" IDS_MUI_ZERO_LEN_MATCH "^ Zero-Length Match" - IDS_MUI_GOTO_LINE " (1 - %lli):" - IDS_MUI_GOTO_COLUMN " (1 - %lli):" + IDS_MUI_GOTO_LINE " (1 - %ti):" + IDS_MUI_GOTO_COLUMN " (1 - %ti):" END STRINGTABLE diff --git a/language/np3_nl_nl/strings_nl_nl.rc b/language/np3_nl_nl/strings_nl_nl.rc index 4cde2f908..662650f2a 100644 --- a/language/np3_nl_nl/strings_nl_nl.rc +++ b/language/np3_nl_nl/strings_nl_nl.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Bijbehorende bestandsextensies:" IDS_MUI_EXAMPLE_TEXT "Pa's wijze lynx bezag vroom het fikse aquaduct, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Nul-lengte Match" - IDS_MUI_GOTO_LINE "Lijn (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Kolom (1 - %lli):" + IDS_MUI_GOTO_LINE "Lijn (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Kolom (1 - %ti):" END STRINGTABLE diff --git a/language/np3_pl_pl/strings_pl_pl.rc b/language/np3_pl_pl/strings_pl_pl.rc index 72fa39a7e..240a16859 100644 --- a/language/np3_pl_pl/strings_pl_pl.rc +++ b/language/np3_pl_pl/strings_pl_pl.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Associated filename extensions:" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Zero-Length Match" - IDS_MUI_GOTO_LINE "Line (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Column (1 - %lli):" + IDS_MUI_GOTO_LINE "Line (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Column (1 - %ti):" END STRINGTABLE diff --git a/language/np3_pt_br/strings_pt_br.rc b/language/np3_pt_br/strings_pt_br.rc index 6c7a5a555..12b21ba95 100644 --- a/language/np3_pt_br/strings_pt_br.rc +++ b/language/np3_pt_br/strings_pt_br.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "Associated filename extensions:" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ Zero-Length Match" - IDS_MUI_GOTO_LINE "Line (1 - %lli):" - IDS_MUI_GOTO_COLUMN "Column (1 - %lli):" + IDS_MUI_GOTO_LINE "Line (1 - %ti):" + IDS_MUI_GOTO_COLUMN "Column (1 - %ti):" END STRINGTABLE diff --git a/language/np3_ru_ru/strings_ru_ru.rc b/language/np3_ru_ru/strings_ru_ru.rc index 22b01a87b..c9012cccd 100644 --- a/language/np3_ru_ru/strings_ru_ru.rc +++ b/language/np3_ru_ru/strings_ru_ru.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT " :" IDS_MUI_EXAMPLE_TEXT " , 0123456789." IDS_MUI_ZERO_LEN_MATCH "^ " - IDS_MUI_GOTO_LINE " (1 - %lli):" - IDS_MUI_GOTO_COLUMN " (1 - %lli):" + IDS_MUI_GOTO_LINE " (1 - %ti):" + IDS_MUI_GOTO_COLUMN " (1 - %ti):" END STRINGTABLE diff --git a/language/np3_zh_cn/strings_zh_cn.rc b/language/np3_zh_cn/strings_zh_cn.rc index 40ca6e8ce..67fc5e9f2 100644 --- a/language/np3_zh_cn/strings_zh_cn.rc +++ b/language/np3_zh_cn/strings_zh_cn.rc @@ -227,8 +227,8 @@ BEGIN IDS_MUI_ASSOCIATED_EXT "ļչ" IDS_MUI_EXAMPLE_TEXT "The quick brown fox jumps over the lazy dog, 0123456789.\nй죬ۼȫ" IDS_MUI_ZERO_LEN_MATCH "^ ƥ" - IDS_MUI_GOTO_LINE "У1 - %lli" - IDS_MUI_GOTO_COLUMN "У1 - %lli" + IDS_MUI_GOTO_LINE "У1 - %ti" + IDS_MUI_GOTO_COLUMN "У1 - %ti" END STRINGTABLE diff --git a/src/Edit.c b/src/Edit.c index 0eb074688..2824bc9cd 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -7011,14 +7011,15 @@ static INT_PTR CALLBACK EditLinenumDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPA DocPos const iCurColumn = SciCall_GetColumn(SciCall_GetCurrentPos()) + 1; DocPos const iLineEndPos = Sci_GetNetLineLength(iCurLine); - FormatLngStringW(wchLineCaption, COUNTOF(wchLineCaption), IDS_MUI_GOTO_LINE, iMaxLnNum); + FormatLngStringW(wchLineCaption, COUNTOF(wchLineCaption), IDS_MUI_GOTO_LINE, + (int)clampp(iMaxLnNum, 0, INT_MAX)); FormatLngStringW(wchColumnCaption, COUNTOF(wchColumnCaption), IDS_MUI_GOTO_COLUMN, - max_p(iLineEndPos, (DocPos)Globals.fvCurFile.iLongLinesLimit)); + (int)clampp(max_p(iLineEndPos, (DocPos)Globals.fvCurFile.iLongLinesLimit), 0, INT_MAX)); SetDlgItemText(hwnd, IDC_LINE_TEXT, wchLineCaption); SetDlgItemText(hwnd, IDC_COLUMN_TEXT, wchColumnCaption); - SetDlgItemInt(hwnd, IDC_LINENUM, (UINT)iCurLine, false); - SetDlgItemInt(hwnd, IDC_COLNUM, (UINT)iCurColumn, false); + SetDlgItemInt(hwnd, IDC_LINENUM, (int)clampp(iCurLine, 0, INT_MAX), false); + SetDlgItemInt(hwnd, IDC_COLNUM, (int)clampp(iCurColumn, 0, INT_MAX), false); SendDlgItemMessage(hwnd,IDC_LINENUM,EM_LIMITTEXT,80,0); SendDlgItemMessage(hwnd,IDC_COLNUM,EM_LIMITTEXT,80,0); CenterDlgInParent(hwnd); diff --git a/src/Helpers.c b/src/Helpers.c index 61a929ada..8c018f459 100644 --- a/src/Helpers.c +++ b/src/Helpers.c @@ -234,9 +234,9 @@ DocPos IniSectionGetPos(LPCWSTR lpCachedIniSection, LPCWSTR lpName, DocPos posDe int const ich = (int)StringCchLen(lpName,0); while (*p) { if ((StrCmpNI(p, lpName, ich) == 0) && (p[ich] == L'=')) { - long long pos = 0; - if (swscanf_s((p + ich + 1), L"%lli", &pos) == 1) { - return (DocPos)pos; + DocPos pos = 0; + if (swscanf_s((p + ich + 1), DOCPOSFMTW, &pos) == 1) { + return pos; } return posDefault; } diff --git a/src/Helpers.h b/src/Helpers.h index 8b50546c1..a502f6a10 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -122,6 +122,10 @@ inline unsigned clampul(unsigned long x, unsigned long lower, unsigned long uppe return (x < lower) ? lower : ((x > upper) ? upper : x); } +inline DocPos clampp(DocPos x, DocPos lower, DocPos upper) { + return (x < lower) ? lower : ((x > upper) ? upper : x); +} + // Is the character an octal digit? inline bool IsDigitA(const CHAR ch) { return ((ch >= '0') && (ch <= '9')); } inline bool IsDigitW(const WCHAR wch) { return ((wch >= L'0') && (wch <= L'9')); } @@ -190,13 +194,15 @@ inline bool IniSectionGetBool(LPCWSTR lpCachedIniSection, LPCWSTR lpName, bool b bool IniSectionSetString(LPWSTR lpCachedIniSection,LPCWSTR lpName,LPCWSTR lpString); inline bool IniSectionSetInt(LPWSTR lpCachedIniSection,LPCWSTR lpName, int i) { - WCHAR tch[32]={L'\0'}; StringCchPrintf(tch,COUNTOF(tch),L"%i",i); return IniSectionSetString(lpCachedIniSection,lpName,tch); + WCHAR tch[32]={L'\0'}; StringCchPrintf(tch,COUNTOF(tch),L"%i",i); + return IniSectionSetString(lpCachedIniSection,lpName,tch); } inline bool IniSectionSetBool(LPWSTR lpCachedIniSection, LPCWSTR lpName, bool b) { return IniSectionSetInt(lpCachedIniSection, lpName, (b ? 1 : 0)); } inline bool IniSectionSetPos(LPWSTR lpCachedIniSection, LPCWSTR lpName, DocPos pos){ - WCHAR tch[64] = { L'\0' }; StringCchPrintf(tch, COUNTOF(tch), L"%td", (long long)pos); return IniSectionSetString(lpCachedIniSection, lpName, tch); + WCHAR tch[64] = { L'\0' }; StringCchPrintf(tch, COUNTOF(tch), DOCPOSFMTW, pos); + return IniSectionSetString(lpCachedIniSection, lpName, tch); } // ---------------------------------------------------------------------------- diff --git a/src/Notepad3.c b/src/Notepad3.c index 65bcd546e..b58721516 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -8981,7 +8981,7 @@ static void _UpdateStatusbarDelayed(bool bForceRedraw) tchLinesSelected[2] = L'\0'; } else { - StringCchPrintf(tchLinesSelected, COUNTOF(tchLinesSelected), L"%lli", iLinesSelected); + StringCchPrintf(tchLinesSelected, COUNTOF(tchLinesSelected), DOCPOSFMTW, iLinesSelected); FormatNumberStr(tchLinesSelected, COUNTOF(tchLinesSelected), 0); } StringCchPrintf(tchStatusBar[STATUS_SELCTLINES], txtWidth, L"%s%s%s",