[PATCH 9/9] regedit: Fix the wrapping of binary values in export_hkey().

Francois Gouget fgouget at codeweavers.com
Wed Nov 12 04:32:23 CST 2008


Don't wait until the line overflows before wrapping it.
Don't wrap the last line.
---
 programs/regedit/regproc.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index 1b437ef..c070ab0 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -1117,17 +1117,20 @@ static void export_hkey(FILE *file, HKEY key,
                     REGPROC_resize_char_buffer(line_buf, line_buf_size, line_len);
                     lstrcpyW(*line_buf + hex_pos, hex_prefix);
                     column = data_pos; /* no line wrap yet */
-                    for (i1 = 0; i1 < val_buf1_size; i1++) {
+                    i1 = 0;
+                    while (1)
+                    {
                         wsprintfW(*line_buf + data_pos, format, (unsigned int)(val_buf1)[i1]);
                         data_pos += 2;
-                        if (i1 + 1 < val_buf1_size) {
-                            lstrcpyW(*line_buf + data_pos, comma);
-                            data_pos++;
-                        }
+                        if (++i1 == val_buf1_size)
+                            break;
+
+                        lstrcpyW(*line_buf + data_pos, comma);
+                        data_pos++;
                         column += 3;
 
                         /* wrap the line */
-                        if (column > REG_FILE_HEX_LINE_LEN) {
+                        if (column >= REG_FILE_HEX_LINE_LEN) {
                             lstrcpyW(*line_buf + data_pos, concat);
                             data_pos += concat_len;
                             column = concat_prefix;
-- 
1.5.6.5



More information about the wine-patches mailing list