Skip to contentSkip to conversation

Fix integer type mismatch on 64-bit systems

PATCH In review Steven Grimm 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix integer type mismatch on 64-bit systems

fprintf wants an int parameter for the field width of a "%.*s" expression, but the code was passing a size_t instead. This potentially broke systems where sizeof(size_t) != sizeof(int). And even on systems where it did't break, it still caused a compiler warning.

---
 tig.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
tig.c +1 -1
index 6adfb33..b09d91b 100644
@@ -1153,7 +1153,7 @@ read_option(char *opt, size_t optlen, char *value, size_t valuelen)
 
 	if (status == ERR) {
 		fprintf(stderr, "Error on line %d, near '%.*s': %s\n",
-			config_lineno, optlen, opt, config_msg);
+			config_lineno, (int) optlen, opt, config_msg);
 		config_errors = TRUE;
 	}
 
Signature · 1 line
1.5.2.35.ga334
#1 lore raw
Quoted 4 lines · Steven Grimm

fprintf wants an int parameter for the field width of a "%.*s" expression, but the code was passing a size_t instead. This potentially broke systems where sizeof(size_t) != sizeof(int). And even on systems where it did't break, it still caused a compiler warning.

Thanks, I also fixed another such occurrence.

BTW, in good git spirit you are encouraged to sign off your patches. :)

Signature · 1 line
Jonas Fonseca