diff --git a/mongoose.c b/mongoose.c
index df26419338ff6f8a26431d8bf62c4342d7e38112..9e90ba45ef17fe50f2f73a88fcb353b493ada39e 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -526,7 +526,7 @@ static int is_file_in_memory(struct mg_connection *conn, const char *path,
                              struct file *filep) {
   conn->request_info.ev_data = (void *) path;
   if ((filep->membuf = call_user(conn, MG_OPEN_FILE)) != NULL) {
-    filep->size = (int) conn->request_info.ev_data;
+    filep->size = (int) (long) conn->request_info.ev_data;
   }
   return filep->membuf != NULL;
 }
@@ -922,7 +922,7 @@ static void send_http_error(struct mg_connection *conn, int status,
   int len;
 
   conn->status_code = status;
-  conn->request_info.ev_data = (void *) status;
+  conn->request_info.ev_data = (void *) (long) status;
   if (call_user(conn, MG_HTTP_ERROR) == NULL) {
     buf[0] = '\0';
     len = 0;
diff --git a/mongoose.h b/mongoose.h
index c46c72267a2c8a24912aaf763afc24bde7ee0ce4..718413ed180faa199bca6736db41d8b4473255b9 100644
--- a/mongoose.h
+++ b/mongoose.h
@@ -67,7 +67,7 @@ enum mg_event {
   // HTTP error must be returned to the client.
   // If callback returns non-NULL, Mongoose stops handling error.
   // ev_data contains HTTP error code:
-  //  int http_reply_status_code = (int) request_info->ev_data;
+  //  int http_reply_status_code = (long) request_info->ev_data;
   MG_HTTP_ERROR,
 
   // Mongoose logs a message.