From 33a3b03d636b529b27f869e332b6344d52635331 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 20 Feb 2015 17:32:01 -0500 Subject: Use FLEXIBLE_ARRAY_MEMBER in some more places. Fix a batch of structs that are only visible within individual .c files. Michael Paquier --- src/backend/commands/tablespace.c | 2 +- src/backend/commands/trigger.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/backend/commands') diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c index e098b9f9685..03cc8fe8d80 100644 --- a/src/backend/commands/tablespace.c +++ b/src/backend/commands/tablespace.c @@ -1088,7 +1088,7 @@ GetDefaultTablespace(char relpersistence) typedef struct { int numSpcs; - Oid tblSpcs[1]; /* VARIABLE LENGTH ARRAY */ + Oid tblSpcs[FLEXIBLE_ARRAY_MEMBER]; } temp_tablespaces_extra; /* check_hook: validate new temp_tablespaces */ diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 5c1c1beb2b8..a84e86ef805 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -3005,7 +3005,7 @@ typedef struct SetConstraintStateData bool all_isdeferred; int numstates; /* number of trigstates[] entries in use */ int numalloc; /* allocated size of trigstates[] */ - SetConstraintTriggerData trigstates[1]; /* VARIABLE LENGTH ARRAY */ + SetConstraintTriggerData trigstates[FLEXIBLE_ARRAY_MEMBER]; } SetConstraintStateData; typedef SetConstraintStateData *SetConstraintState; @@ -4398,8 +4398,8 @@ SetConstraintStateCreate(int numalloc) */ state = (SetConstraintState) MemoryContextAllocZero(TopTransactionContext, - sizeof(SetConstraintStateData) + - (numalloc - 1) *sizeof(SetConstraintTriggerData)); + offsetof(SetConstraintStateData, trigstates) + + numalloc * sizeof(SetConstraintTriggerData)); state->numalloc = numalloc; @@ -4440,8 +4440,8 @@ SetConstraintStateAddItem(SetConstraintState state, newalloc = Max(newalloc, 8); /* in case original has size 0 */ state = (SetConstraintState) repalloc(state, - sizeof(SetConstraintStateData) + - (newalloc - 1) *sizeof(SetConstraintTriggerData)); + offsetof(SetConstraintStateData, trigstates) + + newalloc * sizeof(SetConstraintTriggerData)); state->numalloc = newalloc; Assert(state->numstates < state->numalloc); } -- cgit v1.2.3