diff --git a/mongoose.c b/mongoose.c
index e53b26d27289e17985d918ecd472c4d7d6f88fea..9e0fed1ab776391883e79ab0b4e592f66171e87b 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -1141,7 +1141,7 @@ static void open_cgi_endpoint(struct connection *conn, const char *prog) {
   if ((p = strrchr(prog, '/')) == NULL) {
     mg_snprintf(dir, sizeof(dir), "%s", ".");
   } else {
-    mg_snprintf(dir, sizeof(dir), "%.*s", p - prog, prog);
+    mg_snprintf(dir, sizeof(dir), "%.*s", (int) (p - prog), prog);
   }
 
   // Try to create socketpair in a loop until success. mg_socketpair()