Previously, for tiles > 9 we were just using the next larger
character values in ACII above '9'. Oops! Now, we're properly
using snprintf to format the number as an integer within the
string.
static void card_draw(game_t *game, card_t *card, cairo_t *cr, int x, int y)
{
- char number_string[2];
- number_string[0] = card->number + '0';
- number_string[1] = '\0';
+ char number_string[3];
+ int len;
+
+ len = snprintf (number_string, 3, "%d", card->number);
+ if (len < 0 || len >= 3)
+ FATAL_ERROR ("snprintf failed");
cairo_save(cr);
cairo_translate(cr, x, y);