diff --git a/lib/plat/unix/unix-file.c b/lib/plat/unix/unix-file.c index c71c0d1e5..81cbb222e 100644 --- a/lib/plat/unix/unix-file.c +++ b/lib/plat/unix/unix-file.c @@ -155,11 +155,11 @@ _lws_plat_file_read(lws_fop_fd_t fop_fd, lws_filepos_t *amount, *amount = 0; return -1; } - fop_fd->pos += (size_t)n; + fop_fd->pos = (lws_filepos_t)(fop_fd->pos + (lws_filepos_t)n); lwsl_debug("%s: read %ld of req %ld, pos %ld, len %ld\n", __func__, (long)n, (long)len, (long)fop_fd->pos, (long)fop_fd->len); - *amount = (size_t)n; + *amount = (lws_filepos_t)n; return 0; } @@ -176,8 +176,8 @@ _lws_plat_file_write(lws_fop_fd_t fop_fd, lws_filepos_t *amount, return -1; } - fop_fd->pos += (size_t)n; - *amount = (size_t)n; + fop_fd->pos = (lws_filepos_t)(fop_fd->pos + (lws_filepos_t)n); + *amount = (lws_filepos_t)n; return 0; } diff --git a/lib/tls/tls.c b/lib/tls/tls.c index cd7a8bbca..dfc5060f4 100644 --- a/lib/tls/tls.c +++ b/lib/tls/tls.c @@ -196,7 +196,7 @@ int alloc_file(struct lws_context *context, const char *filename, uint8_t **buf, goto bail; } - m = ftell(f); + m = (ssize_t)ftell(f); if (m == -1l) { n = 1; goto bail;