diff --git a/src/halfvec.c b/src/halfvec.c index 3ef1d46..4515daf 100644 --- a/src/halfvec.c +++ b/src/halfvec.c @@ -410,8 +410,8 @@ halfvec_send(PG_FUNCTION_ARGS) StringInfoData buf; pq_begintypsend(&buf); - pq_sendint16(&buf, vec->dim); - pq_sendint16(&buf, vec->unused); + pq_sendint16(&buf, (uint16) vec->dim); + pq_sendint16(&buf, (uint16) vec->unused); for (int i = 0; i < vec->dim; i++) pq_sendhalf(&buf, vec->x[i]); diff --git a/src/sparsevec.c b/src/sparsevec.c index 4d8c8b3..ef42146 100644 --- a/src/sparsevec.c +++ b/src/sparsevec.c @@ -569,13 +569,13 @@ sparsevec_send(PG_FUNCTION_ARGS) StringInfoData buf; pq_begintypsend(&buf); - pq_sendint32(&buf, svec->dim); - pq_sendint32(&buf, svec->nnz); - pq_sendint32(&buf, svec->unused); + pq_sendint32(&buf, (uint32) svec->dim); + pq_sendint32(&buf, (uint32) svec->nnz); + pq_sendint32(&buf, (uint32) svec->unused); /* Binary representation uses zero-based numbering for indices */ for (int i = 0; i < svec->nnz; i++) - pq_sendint32(&buf, svec->indices[i]); + pq_sendint32(&buf, (uint32) svec->indices[i]); for (int i = 0; i < svec->nnz; i++) pq_sendfloat4(&buf, values[i]); diff --git a/src/vector.c b/src/vector.c index 813ce22..296a8f3 100644 --- a/src/vector.c +++ b/src/vector.c @@ -413,8 +413,8 @@ vector_send(PG_FUNCTION_ARGS) StringInfoData buf; pq_begintypsend(&buf); - pq_sendint16(&buf, vec->dim); - pq_sendint16(&buf, vec->unused); + pq_sendint16(&buf, (uint16) vec->dim); + pq_sendint16(&buf, (uint16) vec->unused); for (int i = 0; i < vec->dim; i++) pq_sendfloat4(&buf, vec->x[i]);