Module: wine Branch: master Commit: e1901500ee5f90c72148f1d49125b64f1fdc26b7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e1901500ee5f90c72148f1d491...
Author: Francois Gouget fgouget@codeweavers.com Date: Wed Nov 12 11:32:23 2008 +0100
regedit: Fix the wrapping of binary values in export_hkey().
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 d633d1d..2cfa092 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;