30 Commits

Author SHA1 Message Date
Don Ho
02cc028cd8 Fix eventual memory leak in Utf8_16.cpp
Fix #14099, close #14104
2023-09-06 18:58:15 +02:00
jarlob
5687c4f43c GHSL-2023-112: check if the current pointer and the next one are less than the end 2023-07-01 20:45:03 +00:00
ozone10
f38195a0da Fix GCC conversion warnings
Fix #13055, close #13056
2023-02-06 20:06:56 +01:00
xomx
c63c0035f3 Fix saving 4GB+ files file size cutting off issue
This commit fixes invalid 64-bit to 32-bit castings of filesize integers.

Fix #12526, close #12736
2022-12-31 17:52:20 +01:00
ozone10
2da5c5b393 Code enhancement
Fix parentheses, misleading-indentation, sign-compare, some conversion-null warnings.

Fix #12139, close #12140
2022-09-11 18:22:51 +02:00
ozone10
ebe7648ee1 Code improvement, remove unnecessary part
Fix pedantic warnings, add initializers.

Close #12093
2022-09-07 17:49:56 +02:00
Don Ho
2e9342ae24 Code enhancement: Initialize member variables 2022-02-09 04:40:16 +01:00
Don Ho
961a133a60 Remove 2GB file open restriction for x64 binary
Fix #10921, close #11047
2022-01-25 18:08:05 +01:00
Don Ho
12a13b1c0a Fix saving file and false alert on network drive issues
And add log ability for debugging network drive file status detection issue.

To activate log, user should:
1. Add an empty "nppLogNetworkDriveIssue.xml" file beside of notepad++.exe, or if user has no admin previlege, he/she can add this file into %APPDATA%\Notepad++\.
2. Create "C:\temp\" directory, if it doesn't exist yet.
3. Start notepad++.exe, and wait for the file status (timestamp) detection error from the network drive. If the errors occur, there should be some trace in "C:\temp\nppLogNetworkDriveIssue.log".

People who have had the network drive file status detection issue in #10688, #10753, #10757, #10751 & #10787 are welcome to download the binary and provide the generated log in order to fix this issue.

Fix #10751, fix #10688, fix #10753, fix #10757, fix #10751, fix #10787, close #10847
2021-12-01 20:42:35 +01:00
Don Ho
682a8edafa CFile (Win32 API IO) Refactoring
1. Rename CFile to Win32_IO_File (plus some modification in class).
2. Add new method writeStr() in Win32_IO_File class to write "char*" & string.
3. Change method names of Utf8_16_Write class and make writeFile() method return accurate type (boolean).

Close #10612
2021-10-02 15:00:08 +02:00
Pavel Nedev
9aa9ecb664 Fix NUL file-corruption issue after system shutting down brutally
Uses native Win32 IO API (CreateFile, ReadFile, WriteFile, CloseHandle) instead of POSIX ones (fopen, fread, fwrite, fclose) for remedying NUL file-corruption problem due to system shutting down brutally.

Fix #6133, close #10598
2021-09-28 12:30:05 +02:00
mere-human
6a4ef408f2 Fix GCC compiler warnings in Notepad++
Fix #10037, close #10048
2021-06-23 12:49:06 +02:00
Udo Hoffmann
9734d81f32 Fix a special character in UTF16 file crash issue (regression)
Fix UTF iterators end too early.
This regression (https://github.com/notepad-plus-plus/notepad-plus-plus/pull/9599#issuecomment-825654605) is introduced via 38bf76e843

Close #9797
2021-04-26 03:16:48 +02:00
Udo Hoffmann
38bf76e843 Fix UTF-16 decoding/encoding for code points above U+FFFF
Fix #9597, fix #3747, fix #5754, close #9599
2021-03-27 02:50:51 +01:00
Pavel Nedev
a103151774
Fix NUL file-corruption bug after Windows shutdown brutally
Bypass Windows caching when flushing files after write.

According Microsoft documentation this fixes the issues with saved file corruption (all NULs)
on sudden power loss or restart.

Microsoft documentation for reference:
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-wfopen?view=vs-2019
https://docs.microsoft.com/en-us/cpp/c-runtime-library/stream-i-o?view=vs-2019

Fix #6133, close #8952
2020-10-06 15:55:41 +02:00
Don HO
5356f648c2
Remove some ugly coding styles 2019-03-13 02:02:35 +01:00
Silent
ac09857656 Fix UTF-8 detection for 4 byte characters
This PR fixes UTF-8 detection for 4 byte characters (a 2002 code used by npp assumed characters longer than 3 bytes are invalid -.-). This means such files will not be erroreously displayed as ANSI anymore.

Steps to reproduce:

Create a new UTF-8 file (w/out BOM)
Paste eg. this character 🍪 and save.
Reopen the file again.
Prior to this PR, file is detected as ANSI (even if Notepad++ is configured to default-assume UTF-8!!!). After this fix, file gets opened as UTF-8 correctly.

Fixes #4730, Fixes #3986, Fixes #3441, Fixes #3405, Closes #4922
2018-11-09 13:39:00 +01:00
Don HO
64d7535be1 x64 ready
1. Remove all warning while compiling in x64
2. Treat warning as error (W4) while compiling in x64
2016-06-05 20:30:22 +02:00
Don Ho
88e390fbc0 Fix 3 bytes file open issue
(Fixes #725)
Open a file of 3 bytes length with '\0' in the middle, only 1 character
shown in editor.
Such file is detected as UTF16 w/o BOM, that makes the wrong length
interpretation. Adding the "len mod 2 == 0" condition to enhance the
detection is the only solution I can find so far.
2015-10-28 01:57:47 +01:00
Don Ho
246c8bd168 [UPDATE] Unprecompile headers (part 3) 2015-06-02 18:01:47 +02:00
milipili
d09947d22d Scintilla: Buffer: fixed invalid read via strlen when loading a file
When loading a file via `FileManager::loadFileData`, a fixed-length buffer
is filled via `fread`. Then, in some cases, a conversion is done with the help
of `Utf8_16_Read`. However, the method `Utf8_16_Read::convert` performs a call
to `strlen` on this buffer. This is obviously wrong: `\0` char should be
accepted (even if a bit strange) and the buffer is not zero-terminated.

The changes merely consist in adding an additional parameter `length` to
not have to guess the size of the buffer.
2015-05-30 21:28:51 +02:00
Don Ho
c866075f58 [BUG_FIXED] (Author: Dave Brotherstone) Fix UTF-8 (w/o BOM) detection bug.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1092 f5eea248-9336-0410-98b8-ebc06183d4e3
2013-07-31 11:35:43 +00:00
Don Ho
6264ef03d0 [ENHANCEMENT] Code optimization.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1073 f5eea248-9336-0410-98b8-ebc06183d4e3
2013-07-08 00:12:50 +00:00
Don Ho
b0f47da58b [BUG_FIXED] (Author: Jens Lorenz) Fix a detection error of UTF16 file from a binary file.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1046 f5eea248-9336-0410-98b8-ebc06183d4e3
2013-05-20 18:03:56 +00:00
Don Ho
5be72543f8 [BUG_FIXED] (Author: François-R Boyer) Fix saving UCS-2 text file corrupted bug.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@671 f5eea248-9336-0410-98b8-ebc06183d4e3
2010-09-25 18:14:22 +00:00
Don Ho
6d161a269e [BUG_FIXED] Fix xml/html encoding overrides BOM if present.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@597 f5eea248-9336-0410-98b8-ebc06183d4e3
2010-01-17 23:13:06 +00:00
Don Ho
f5cca1add9 [BUG_FIXED] Fix getting fonts problem under Chines/Korean/Japanese environment.
[BUG_FIXED] Fix wrong File encoding auto-detection problem : binary file is detected as UTF-16 big-endian.
[UPDATE] (Author : Christian Cuvier) Update NppHelp to v5.5.


git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@539 f5eea248-9336-0410-98b8-ebc06183d4e3
2009-09-19 21:43:11 +00:00
Don Ho
0c490dc55a [ENHANCE] Thanks to Jocelyn Legault (precompiled headers), the build time is sped up.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@529 f5eea248-9336-0410-98b8-ebc06183d4e3
2009-09-04 00:10:01 +00:00
Don Ho
9867d7b578 [NEW_FEATURE] Detect UTF16 encoding (BE and LE) w/o BOM.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@473 f5eea248-9336-0410-98b8-ebc06183d4e3
2009-04-29 18:07:30 +00:00
Don Ho
4dd3b257e0 Moved PowerEditor in trunk remotely
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@460 f5eea248-9336-0410-98b8-ebc06183d4e3
2009-04-24 23:34:47 +00:00