cleaning
authorLaurent Mazet <mazet@softndesign.org>
Fri, 14 Jun 2024 21:55:37 +0000 (23:55 +0200)
committerLaurent Mazet <mazet@softndesign.org>
Fri, 14 Jun 2024 21:55:37 +0000 (23:55 +0200)
function.c
scrabble.c

index d121f1d01e6af414fe5296b11947dd56eaf3fc61..4ecf3e158e3fbb1befd8bc9b35a9b344f3bc9d38 100644 (file)
@@ -555,15 +555,16 @@ char *savedata (int nbplayers, char *lang, char *board, play_t *play, draw_t *dr
     CHECKALLOC (buffer);
 
     int l = sprintf (buffer, "nbplayers: %d\n", nbplayers);
-    l += sprintf (buffer + l, "lang: %s\n", lang);
-    l += sprintf (buffer + l, "board: %s\n", board);
-    l += sprintf (buffer + l, "play: %s\n", play->tab);
-    l += sprintf (buffer + l, "draw: %s\n", draw->tiles);
+    l += sprintf (buffer + l, "lang: \"%s\"\n", lang);
+    l += sprintf (buffer + l, "board: \"%s\"\n", board);
+    l += sprintf (buffer + l, "play: \"%s\"\n", play->tab);
+    l += sprintf (buffer + l, "nbtiles: %d\n", draw->nbtiles);
+    l += sprintf (buffer + l, "tiles: \"%s\"\n", draw->tiles);
     for (i = 0; i < nbplayers; i++) {
-        l += sprintf (buffer + l, "game[%d]: %s\n", i, game[i]->tiles);
+        l += sprintf (buffer + l, "game[%d]: \"%s\"\n", i, game[i]->tiles);
     }
-    l += sprintf (buffer + l, "n: %d\n", n);
-    l += sprintf (buffer + l, "turn[%d]: %s\n", n, turn[n]->tab);
+    l += sprintf (buffer + l, "current: %d\n", n);
+    l += sprintf (buffer + l, "turn[%d]: \"%s\"\n", n, turn[n]->tab);
     for (i = 0; i < nbplayers; i++) {
         l += sprintf (buffer + l, "score[%d]: %d\n", i, score[i]);
     }
@@ -576,9 +577,9 @@ int writedata (char *filename, char *data)
     int ret = 0;
     FILE *fd = fopen (filename, "w");
     if (fd) {
-        fwrite (data, strlen (data), 1, fd);
+        size_t n = fwrite (data, strlen (data), 1, fd);
         fclose (fd);
-        ret = 1;
+        ret = (n == strlen (data));
     }
     return ret;
 }
index e10e942eb7b4ecb38e1c56372af374f6a8ea7cec..25f2cb707a00e49433dd799c86054e2eaedd3919 100644 (file)
@@ -233,6 +233,7 @@ int main (int argc, char *argv[])
     drawwindow (game[n], score[n], xdrawwin[n], ydrawwin[n], 1);
     int nbpoints = 0;
     int stop = 0;
+    char *data = NULL;
     while (!stop) {
         char highlight = current = gessletter (play, x, y);
         if ((current == ' ') && (letter != '\0')) {
@@ -293,11 +294,9 @@ int main (int argc, char *argv[])
             stop = 1;
             break;
         case 's':
-            {
-                char *data = savedata (nbplayers, language, boardname, play, draw, game, n, turn, score);
-                writedata ("data.scr", data);
-                free (data);
-            }
+            data = savedata (nbplayers, language, boardname, play, draw, game, n, turn, score);
+            writedata ("data.scr", data);
+            free (data);
             break;
         case 't':
             mode ^= 1;