Fix integer-size bug in score file parsing / printing.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Thu, 4 Apr 2013 10:38:17 +0000 (12:38 +0200)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Thu, 4 Apr 2013 10:38:17 +0000 (12:38 +0200)
rip.c

diff --git a/rip.c b/rip.c
index 809ba6a..352313d 100644 (file)
--- a/rip.c
+++ b/rip.c
@@ -155,12 +155,14 @@ char monst;
     if ((rogue_ver == 36) && (scorefile_ver == 2))\r
         for(i = 0; i < 10; i++)\r
        {\r
+           int monster;\r
            encread((char *) &top_ten[i].sc_name, 80, fd);\r
            encread((char *) &top_ten[i].sc_login, 8, fd);\r
            encread((char *) scoreline, 100, fd);\r
            sscanf(scoreline, " %d %d %d %d \n",\r
                &top_ten[i].sc_score,  &top_ten[i].sc_flags,\r
-               &top_ten[i].sc_level,  &top_ten[i].sc_monster);\r
+               &top_ten[i].sc_level,  &monster);\r
+           top_ten[i].sc_monster = monster;\r
        }\r
 \r
     /*\r
@@ -194,7 +196,7 @@ char monst;
     printf("Top Ten Adventurers:\nRank\tScore\tName\n");\r
     for (scp = top_ten; scp <= &top_ten[9]; scp++) {\r
        if (scp->sc_score) {\r
-           printf("%d\t%d\t%s: %s on level %d", scp - top_ten + 1,\r
+           printf("%ld\t%d\t%s: %s on level %d", scp - top_ten + 1,\r
                scp->sc_score, scp->sc_name, reason[scp->sc_flags],\r
                scp->sc_level);\r
            if (scp->sc_flags == 0) {\r