[2/2] notepad: When opening a file, replace \0 characters with spaces, instead of truncating the file at the first \0.

Alexander Scott-Johns alexander.scott.johns at googlemail.com
Sat Jul 4 20:18:50 CDT 2009


---
 programs/notepad/dialog.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
-------------- next part --------------
From 1994998528e7ae515fc14ae20de91426c82778d9 Mon Sep 17 00:00:00 2001
From: Alexander Scott-Johns <alexander.scott.johns at googlemail.com>
Date: Fri, 3 Jul 2009 01:04:00 +0100
Subject: notepad: When opening a file, replace \0 characters with spaces, instead
 of truncating the file at the first \0.

---
 programs/notepad/dialog.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/programs/notepad/dialog.c b/programs/notepad/dialog.c
index eae0d30..5594069 100644
--- a/programs/notepad/dialog.c
+++ b/programs/notepad/dialog.c
@@ -346,6 +346,7 @@ void DoOpenFile(LPCWSTR szFileName, ENCODING enc)
     DWORD dwNumRead;
     int lenW;
     WCHAR* textW;
+    int i;
     WCHAR log[5];
 
     /* Close any files and prompt to save changes */
@@ -433,6 +434,12 @@ void DoOpenFile(LPCWSTR szFileName, ENCODING enc)
         }
     }
 
+    /* Replace '\0's with spaces. Other than creating a custom control that
+     * can deal with '\0' characters, it's the best that can be done.
+     */
+    for (i = 0; i < lenW; i++)
+        if (textW[i] == '\0')
+            textW[i] = ' ';
     textW[lenW] = '\0';
 
     if (lenW >= 1 && textW[0] == 0xfeff)
-- 
1.5.6.3


More information about the wine-patches mailing list