--- move.c.orig Thu Mar 28 15:13:44 1996
+++ move.c Fri Jun 15 02:33:02 2007
@@ -9,15 +9,16 @@
#endif
#define CTRL(c) (c - 'A' + 1)
-#define ANIMATE 1
-
/*extern FILE *outf;*/
char *Movenames[] = {
"M_DISCARD", "M_DRAW", "M_PLAY", "M_ORDER"
};
-char *playcard (), *sprint ();
+char *playcard (),
+ *sprintDecimal( char* format, int arg ),
+ *sprintString( char* format, char* arg );
+
domove()
{
@@ -203,7 +204,7 @@
return ("limit of 50");
case C_50:
if (pp->mileage + Value[card] > End)
- return sprint ("puts you over %d", End);
+ return sprintDecimal ("puts you over %d", End);
case C_25:
if (!pp->can_go)
return ("cannot move now");
@@ -220,7 +221,7 @@
case C_GAS: case C_SPARE: case C_REPAIRS:
if (pp->battle != opposite(card))
- return sprint ("can't play \"%s\"", C_name[card]);
+ return sprintString ("can't play \"%s\"", C_name[card]);
#ifdef ANIMATE
animate_move (Play, ANIMATE_HAND, Card_no, ANIMATE_BATTLE, card);
#endif
@@ -232,7 +233,7 @@
case C_GO:
if (pp->battle != C_INIT && pp->battle != C_STOP
&& !isrepair(pp->battle))
- return sprint ("cannot play \"Go\"on a \"%s\"",
+ return sprintString ("cannot play \"Go\"on a \"%s\"",
C_name[pp->battle]);
#ifdef ANIMATE
animate_move (Play, ANIMATE_HAND, Card_no, ANIMATE_BATTLE, card);
@@ -339,12 +340,19 @@
return 0;
}
-char *
-sprint (string, arg)
+char* sprintDecimal( char* format, int arg )
+{
+ static char buf[512];
+
+ sprintf (buf, format, arg);
+ return buf;
+}
+
+char* sprintString( char* format, char* arg )
{
static char buf[512];
- sprintf (buf, string, arg);
+ sprintf (buf, format, arg);
return buf;
}