git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: caca6d8)
Fix sign-compare warnings in pg_iovec.h.
Fri, 8 Nov 2024 22:11:08 +0000 (16:11 -0600)
Fri, 8 Nov 2024 22:11:08 +0000 (16:11 -0600)
The code in question (pg_preadv() and pg_pwritev()) has been around
for a while, but commit 15c9ac3629 moved it to a header file. If
third-party code that includes this header file is built with
-Wsign-compare on a system without preadv() or pwritev(), warnings
ensue. This commit fixes said warnings by casting the result of
pg_pread()/pg_pwrite() to size_t, which should be safe because we
will have already checked for a negative value.

Author: Wolfgang Walther
Discussion: https://postgr.es/m/16989737-1aa8-48fd-8dfe-b7ada06509ab%40technowledgy.de
Backpatch-through: 17


diff --git a/src/include/port/pg_iovec.h b/src/include/port/pg_iovec.h
index 7255c1bd911aa3383388e64bc75821b67e08c514..e5fe677b3711efb60ce0a5e35c577f781e64f07a 100644 (file)
--- a/src/include/port/pg_iovec.h
+++ b/src/include/port/pg_iovec.h
@@ -68,7 +68,7 @@ pg_preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset)
}
sum += part;
offset += part;
- if (part < iov[i].iov_len)
+ if ((size_t) part < iov[i].iov_len)
return sum;
}
return sum;
@@ -107,7 +107,7 @@ pg_pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset)
}
sum += part;
offset += part;
- if (part < iov[i].iov_len)
+ if ((size_t) part < iov[i].iov_len)
return sum;
}
return sum;
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /