diff --git a/src/handle_form.inl b/src/handle_form.inl index b588eab5..fec7edc7 100644 --- a/src/handle_form.inl +++ b/src/handle_form.inl @@ -95,8 +95,12 @@ url_encoded_field_found(const char *key, filename_dec[0] = 0; } - return fdh->field_found( - key_dec, key_dec_len, filename_dec, path, path_len, fdh->user_data); + return fdh->field_found(key_dec, + (size_t)key_dec_len, + filename_dec, + path, + path_len, + fdh->user_data); } @@ -198,7 +202,7 @@ mg_handle_form_data(struct mg_connection *conn, vallen = next - val; next++; } else { - vallen = strlen(val); + vallen = (ptrdiff_t)strlen(val); next = val + vallen; } @@ -213,7 +217,7 @@ mg_handle_form_data(struct mg_connection *conn, FILE *f = fopen(path, "wb"); if (f != NULL) { size_t n = (size_t)fwrite(val, 1, (size_t)vallen, f); - if ((n != vallen) || (ferror(f))) { + if ((n != (size_t)vallen) || (ferror(f))) { mg_cry(conn, "%s: Cannot write file %s", __func__, @@ -267,10 +271,11 @@ mg_handle_form_data(struct mg_connection *conn, ptrdiff_t keylen, vallen; int used; - if (buf_fill < (sizeof(buf) - 1)) { + if ((size_t)buf_fill < (sizeof(buf) - 1)) { - int r = - mg_read(conn, buf + buf_fill, sizeof(buf) - 1 - buf_fill); + int r = mg_read(conn, + buf + (size_t)buf_fill, + sizeof(buf) - 1 - (size_t)buf_fill); if (r < 0) { /* read error */ return 0; @@ -295,7 +300,7 @@ mg_handle_form_data(struct mg_connection *conn, vallen = next - val; next++; } else { - vallen = strlen(val); + vallen = (size_t)strlen(val); next = val + vallen; } @@ -306,7 +311,7 @@ mg_handle_form_data(struct mg_connection *conn, /* Proceed to next entry */ used = next - buf; - memmove(buf, buf + used, sizeof(buf) - used); + memmove(buf, buf + (size_t)used, sizeof(buf) - (size_t)used); buf_fill -= used; } @@ -335,7 +340,9 @@ mg_handle_form_data(struct mg_connection *conn, boundary = content_type + 30; bl = strlen(boundary); - r = mg_read(conn, buf + buf_fill, sizeof(buf) - 1 - buf_fill); + r = mg_read(conn, + buf + (size_t)buf_fill, + sizeof(buf) - 1 - (size_t)buf_fill); if (r < 0) { /* read error */ return 0;