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

Commitcbb51eb

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 parentef585de commitcbb51eb

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
@@ -343,6 +343,11 @@ typedef unsigned PG_INT128_TYPE uint128;
343343
#definePG_INT64_MAXINT64CONST(0x7FFFFFFFFFFFFFFF)
344344
#definePG_UINT64_MAXUINT64CONST(0xFFFFFFFFFFFFFFFF)
345345

346+
/* Max value of size_t might also be missing if we don't have stdint.h */
347+
#ifndefSIZE_MAX
348+
#defineSIZE_MAX ((size_t) -1)
349+
#endif
350+
346351
/*
347352
* We now always use int64 timestamps, but keep this symbol defined for the
348353
* benefit of external code that might test it.

‎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