int vs long int in warning

Posted by Baron Sengir on Thu 12 Nov 2009 12:43 AM — 3 posts, 17,480 views.

USA #0
While reconfiguring how the score sheet looks for players in the MUD, I've come across a warning when compiling that I'm curious about. (normally I try to fix all warnings out of principal)

act_info.c:1629: warning: format '%9d' expects type 'int', but argument 3 has type 'long int'

The offending line is below for reference:
sprintf (buf, "{W | / | Gold: %9d | / |{x\n\r", ch->gold);

My question then becomes this, would it be ok to leave it as is? If this was just a number off of a report it would be fine, but I have the ascii lined up with 9 spaces blocked off to keep everything in line. Or would it be better for me to go through and change ch->gold to int instead of long int? Any thoughts would be appreciated.
USA #1
Have you tried %9ld?
USA #2
That did the trick wonderfully. I was not aware of the existence of that (or if I did long ago, it surely had slipped from my memory). Thank you much Zeno!