Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/elfmz/far2l.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShmuel Zeigerman <solomuz0@gmail.com>2022-03-30 14:00:14 +0300
committerShmuel Zeigerman <solomuz0@gmail.com>2022-03-30 14:00:14 +0300
commit401f0cefbdf5ed407acc46372ab9005c51611e0e (patch)
tree9c1bb065f74c090632dcae01ace73ee01b06ad03 /far2l/src/fileedit.cpp
parent040c03d9a32241c86abce04df7dfe29f7e848179 (diff)
Fix ECTL_SAVEFILE with invalid code page (see #1287)
Diffstat (limited to 'far2l/src/fileedit.cpp')
-rw-r--r--far2l/src/fileedit.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/far2l/src/fileedit.cpp b/far2l/src/fileedit.cpp
index 83aa5454..1bd28b17 100644
--- a/far2l/src/fileedit.cpp
+++ b/far2l/src/fileedit.cpp
@@ -1036,7 +1036,7 @@ int FileEditor::ReProcessKey(int Key,int CalledFromControl)
if (SaveAs)
{
FARString strSaveAsName = Flags.Check(FFILEEDIT_SAVETOSAVEAS)?strFullFileName:strFileName;
-
+
bool AddSignature = DecideAboutSignature();
if (!dlgSaveFileAs(strSaveAsName, SaveAsTextFormat, codepage, AddSignature))
return FALSE;
@@ -1923,7 +1923,8 @@ int FileEditor::SaveFile(const wchar_t *Name,int Ask, bool bSaveAs, int TextForm
int Length;
CurPtr->GetBinaryString(&SaveStr,&EndSeq,Length);
BOOL UsedDefaultCharStr=FALSE,UsedDefaultCharEOL=FALSE;
- WINPORT(WideCharToMultiByte)(codepage,WC_NO_BEST_FIT_CHARS,SaveStr,Length,nullptr,0,nullptr,&UsedDefaultCharStr);
+ if (Length && !WINPORT(WideCharToMultiByte)(codepage,WC_NO_BEST_FIT_CHARS,SaveStr,Length,nullptr,0,nullptr,&UsedDefaultCharStr))
+ return SAVEFILE_ERROR;
if (!*EndSeq && CurPtr->m_next)
EndSeq=*m_editor->GlobalEOL?m_editor->GlobalEOL:DOS_EOL_fmt;