|
5 | 5 | * COPYRIGHT: Copyright 1998,99 Marcel Baur <mbaur@g26.ethz.ch> |
6 | 6 | * Copyright 2002 Sylvain Petreolle <spetreolle@yahoo.fr> |
7 | 7 | * Copyright 2002 Andriy Palamarchuk |
8 | | - * Copyright 2019-2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com> |
| 8 | + * Copyright 2019-2026 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com> |
9 | 9 | */ |
10 | 10 |
|
11 | 11 | #include "notepad.h" |
@@ -230,89 +230,89 @@ ReadText(HANDLE hFile, ENCODING *pencFile, EOLN *piEoln) |
230 | 230 |
|
231 | 231 | switch(encFile) |
232 | 232 | { |
233 | | - case ENCODING_UTF16BE: |
234 | | - case ENCODING_UTF16LE: |
235 | | - { |
236 | | - /* Allocate the buffer for EM_SETHANDLE */ |
237 | | - pszText = (LPWSTR)&pBytes[dwPos]; |
238 | | - cchText = (dwSize - dwPos) / sizeof(WCHAR); |
239 | | - if (cchText >= MAXLONG / sizeof(WCHAR)) |
| 233 | + case ENCODING_UTF16BE: |
| 234 | + case ENCODING_UTF16LE: |
240 | 235 | { |
241 | | - SetLastError(ERROR_FILE_TOO_LARGE); |
242 | | - goto done; |
243 | | - } |
| 236 | + /* Allocate the buffer for EM_SETHANDLE */ |
| 237 | + pszText = (LPWSTR)&pBytes[dwPos]; |
| 238 | + cchText = (dwSize - dwPos) / sizeof(WCHAR); |
| 239 | + if (cchText >= MAXLONG / sizeof(WCHAR)) |
| 240 | + { |
| 241 | + SetLastError(ERROR_FILE_TOO_LARGE); |
| 242 | + goto done; |
| 243 | + } |
244 | 244 |
|
245 | | - hNewLocal = LocalAlloc(LMEM_MOVEABLE, (cchText + 1) * sizeof(WCHAR)); |
246 | | - if (!hNewLocal) |
247 | | - { |
248 | | - SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
249 | | - goto done; |
250 | | - } |
| 245 | + hNewLocal = LocalAlloc(LMEM_MOVEABLE, (cchText + 1) * sizeof(WCHAR)); |
| 246 | + if (!hNewLocal) |
| 247 | + { |
| 248 | + SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
| 249 | + goto done; |
| 250 | + } |
251 | 251 |
|
252 | | - pszNewText = LocalLock(hNewLocal); |
253 | | - if (!pszNewText) |
254 | | - { |
255 | | - SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
256 | | - goto done; |
257 | | - } |
| 252 | + pszNewText = LocalLock(hNewLocal); |
| 253 | + if (!pszNewText) |
| 254 | + { |
| 255 | + SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
| 256 | + goto done; |
| 257 | + } |
258 | 258 |
|
259 | | - CopyMemory(pszNewText, pszText, cchText * sizeof(WCHAR)); |
| 259 | + CopyMemory(pszNewText, pszText, cchText * sizeof(WCHAR)); |
260 | 260 |
|
261 | | - if (encFile == ENCODING_UTF16BE) /* big endian; Swap bytes */ |
262 | | - { |
263 | | - BYTE tmp, *pb = (LPBYTE)pszNewText; |
264 | | - for (i = 0; i < cchText * 2; i += 2) |
| 261 | + if (encFile == ENCODING_UTF16BE) /* big endian; Swap bytes */ |
265 | 262 | { |
266 | | - tmp = pb[i]; |
267 | | - pb[i] = pb[i + 1]; |
268 | | - pb[i + 1] = tmp; |
| 263 | + BYTE tmp, *pb = (LPBYTE)pszNewText; |
| 264 | + for (i = 0; i < cchText * 2; i += 2) |
| 265 | + { |
| 266 | + tmp = pb[i]; |
| 267 | + pb[i] = pb[i + 1]; |
| 268 | + pb[i + 1] = tmp; |
| 269 | + } |
269 | 270 | } |
270 | | - } |
271 | | - break; |
272 | | - } |
273 | | - |
274 | | - case ENCODING_ANSI: |
275 | | - case ENCODING_UTF8: |
276 | | - case ENCODING_UTF8BOM: |
277 | | - { |
278 | | - iCodePage = ((encFile == ENCODING_UTF8 || encFile == ENCODING_UTF8BOM) |
279 | | - ? CP_UTF8 : CP_ACP); |
280 | | - cbContent = dwSize - dwPos; |
281 | | - if (cbContent >= MAXLONG / sizeof(WCHAR)) |
282 | | - { |
283 | | - SetLastError(ERROR_FILE_TOO_LARGE); |
284 | | - goto done; |
| 271 | + break; |
285 | 272 | } |
286 | 273 |
|
287 | | - /* Allocate the buffer for EM_SETHANDLE */ |
288 | | - hNewLocal = LocalAlloc(LMEM_MOVEABLE, (cbContent + 1) * sizeof(WCHAR)); |
289 | | - if (!hNewLocal) |
| 274 | + case ENCODING_ANSI: |
| 275 | + case ENCODING_UTF8: |
| 276 | + case ENCODING_UTF8BOM: |
290 | 277 | { |
291 | | - SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
292 | | - goto done; |
293 | | - } |
| 278 | + iCodePage = ((encFile == ENCODING_UTF8 || encFile == ENCODING_UTF8BOM) |
| 279 | + ? CP_UTF8 : CP_ACP); |
| 280 | + cbContent = dwSize - dwPos; |
| 281 | + if (cbContent >= MAXLONG / sizeof(WCHAR)) |
| 282 | + { |
| 283 | + SetLastError(ERROR_FILE_TOO_LARGE); |
| 284 | + goto done; |
| 285 | + } |
294 | 286 |
|
295 | | - pszNewText = LocalLock(hNewLocal); |
296 | | - if (!pszNewText) |
297 | | - { |
298 | | - SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
299 | | - goto done; |
300 | | - } |
| 287 | + /* Allocate the buffer for EM_SETHANDLE */ |
| 288 | + hNewLocal = LocalAlloc(LMEM_MOVEABLE, (cbContent + 1) * sizeof(WCHAR)); |
| 289 | + if (!hNewLocal) |
| 290 | + { |
| 291 | + SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
| 292 | + goto done; |
| 293 | + } |
301 | 294 |
|
302 | | - /* Do conversion */ |
303 | | - cchText = 0; |
304 | | - if (cbContent > 0) |
305 | | - { |
306 | | - cchText = MultiByteToWideChar(iCodePage, 0, |
307 | | - (LPCSTR)&pBytes[dwPos], (INT)cbContent, |
308 | | - pszNewText, (INT)cbContent); |
309 | | - if (!cchText) |
| 295 | + pszNewText = LocalLock(hNewLocal); |
| 296 | + if (!pszNewText) |
| 297 | + { |
| 298 | + SetLastError(ERROR_NOT_ENOUGH_MEMORY); |
310 | 299 | goto done; |
| 300 | + } |
| 301 | + |
| 302 | + /* Do conversion */ |
| 303 | + cchText = 0; |
| 304 | + if (cbContent > 0) |
| 305 | + { |
| 306 | + cchText = MultiByteToWideChar(iCodePage, 0, |
| 307 | + (LPCSTR)&pBytes[dwPos], (INT)cbContent, |
| 308 | + pszNewText, (INT)cbContent); |
| 309 | + if (!cchText) |
| 310 | + goto done; |
| 311 | + } |
| 312 | + break; |
311 | 313 | } |
312 | | - break; |
313 | | - } |
314 | 314 |
|
315 | | - DEFAULT_UNREACHABLE; |
| 315 | + DEFAULT_UNREACHABLE; |
316 | 316 | } |
317 | 317 |
|
318 | 318 | pszNewText[cchText] = UNICODE_NULL; |
|
0 commit comments