Dylan Smith : winemine: Increased buffer size for player names.

Alexandre Julliard julliard at winehq.org
Wed Jun 25 04:47:20 CDT 2008


Module: wine
Branch: master
Commit: b599f89abefc01cb474f00b574c2533feb3f8886
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b599f89abefc01cb474f00b574c2533feb3f8886

Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date:   Tue Jun 24 14:09:54 2008 -0400

winemine: Increased buffer size for player names.

Player names can be 31 characters long in Windows, so winemine should
now be able to read any of the player names in the registry created from
the minesweeper in the native Windows.

---

 programs/winemine/README |    3 ---
 programs/winemine/main.c |    6 +++---
 programs/winemine/main.h |    4 +++-
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/programs/winemine/README b/programs/winemine/README
index e364935..711b5f9 100644
--- a/programs/winemine/README
+++ b/programs/winemine/README
@@ -8,9 +8,6 @@ This is minesweeper for wine...
 Enjoy. I wrote it because it rhymes ;).
 
 KNOWN BUGS:
-    Chokes on fastest times names greater than 16 characters long, must have
-    something to do with GetDlgItemText.
-  
     No help file.
 
     Starting a new game causes the window to drop one pixel (Peter Hunnisett)
diff --git a/programs/winemine/main.c b/programs/winemine/main.c
index 13311c7..a8ea08e 100644
--- a/programs/winemine/main.c
+++ b/programs/winemine/main.c
@@ -277,7 +277,7 @@ void LoadBoard( BOARD *p_board )
     DWORD size;
     DWORD type;
     HKEY hkey;
-    char data[16];
+    char data[MAX_PLAYER_NAME_SIZE+1];
     char key_name[8];
     unsigned i;
 
@@ -327,7 +327,7 @@ void LoadBoard( BOARD *p_board )
                 (LPDWORD) &size ) == ERROR_SUCCESS )
                     lstrcpynA( p_board->best_name[i], data, sizeof(p_board->best_name[i]) );
         else
-            LoadString( p_board->hInst, IDS_NOBODY, p_board->best_name[i], 16 );
+            LoadString( p_board->hInst, IDS_NOBODY, p_board->best_name[i], MAX_PLAYER_NAME_SIZE+1 );
     }
 
     for( i = 0; i < 3; i++ ) {
@@ -345,7 +345,7 @@ void SaveBoard( BOARD *p_board )
 {
     HKEY hkey;
     unsigned i;
-    char data[16];
+    char data[MAX_PLAYER_NAME_SIZE+1];
     char key_name[8];
 
     if( RegCreateKeyEx( HKEY_CURRENT_USER, registry_key,
diff --git a/programs/winemine/main.h b/programs/winemine/main.h
index 16fcb2e..a813c95 100644
--- a/programs/winemine/main.h
+++ b/programs/winemine/main.h
@@ -45,6 +45,8 @@
 #define FACE_WIDTH       24
 #define FACE_HEIGHT      24
 
+#define MAX_PLAYER_NAME_SIZE 31
+
 typedef enum { SPRESS_BMP, COOL_BMP, DEAD_BMP, OOH_BMP, SMILE_BMP } FACE_BMP;
 
 typedef enum { WAITING, PLAYING, GAMEOVER, WON } GAME_STATUS;
@@ -84,7 +86,7 @@ typedef struct tagBOARD
     unsigned rows;
     unsigned cols;
     unsigned mines;
-    char best_name [3][16];
+    char best_name [3][MAX_PLAYER_NAME_SIZE+1];
     DWORD best_time [3];
     DIFFICULTY difficulty;
 




More information about the wine-cvs mailing list