Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite50d401

Browse files
committed
Ensure SIZE_MAX can be used throughout our code.
Pre-C99 platforms may lack <stdint.h> and thereby SIZE_MAX. We havea couple of places using the hack "(size_t) -1" as a fallback, butit wasn't universally available; which means the code added in commit2e70d6b fails to compile everywhere. Move that hack to c.h so thatwe can rely on having SIZE_MAX everywhere.Per discussion, it'd be a good idea to make the macro's value safefor use in #if-tests, but that will take a bit more work. This isjust a quick expedient to get the buildfarm green again.Back-patch to all supported branches, like the previous commit.Discussion:https://postgr.es/m/15883.1504278595@sss.pgh.pa.us
1 parent9b1d485 commite50d401

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

‎src/include/c.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,11 @@ typedef unsigned PG_INT128_TYPE uint128;
340340
#definePG_INT64_MAXINT64CONST(0x7FFFFFFFFFFFFFFF)
341341
#definePG_UINT64_MAXUINT64CONST(0xFFFFFFFFFFFFFFFF)
342342

343+
/* Max value of size_t might also be missing if we don't have stdint.h */
344+
#ifndefSIZE_MAX
345+
#defineSIZE_MAX ((size_t) -1)
346+
#endif
347+
343348
/* Select timestamp representation (float8 or int64) */
344349
#ifdefUSE_INTEGER_DATETIMES
345350
#defineHAVE_INT64_TIMESTAMP

‎src/include/utils/memutils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
#defineAllocSizeIsValid(size)((Size) (size) <= MaxAllocSize)
4343

44-
#defineMaxAllocHugeSize((Size) -1 >> 1)/*SIZE_MAX / 2 */
44+
#defineMaxAllocHugeSize(SIZE_MAX / 2)
4545

4646
#defineAllocHugeSizeIsValid(size)((Size) (size) <= MaxAllocHugeSize)
4747

‎src/timezone/private.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@
4848
/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */
4949
#defineis_digit(c) ((unsigned)(c) - '0' <= 9)
5050

51-
#ifndefSIZE_MAX
52-
#defineSIZE_MAX ((size_t) -1)
53-
#endif
54-
5551
/*
5652
* SunOS 4.1.1 libraries lack remove.
5753
*/

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp