*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.41 1998/09/01 04:26:39 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.42 1998/09/04 18:05:38 momjian Exp $
*
* NOTES
* The old interface functions have been converted to macros
int i;
int numberOfAttributes = tupleDescriptor->natts;
- len = sizeof *tuple - sizeof tuple->t_bits;
+ len = offsetof(HeapTuple->t_bits);
for (i = 0; i < numberOfAttributes && !hasnull; i++)
{
AssertArg(natts > 0);
- len = sizeof(HeapTupleData) - sizeof(tup->t_bits);
+ len = offsetof(HeapTuple->t_bits);
hoff = len = DOUBLEALIGN(len); /* be conservative */
len += structlen;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.38 1998/09/01 04:31:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.39 1998/09/04 18:05:39 momjian Exp $
*
*-------------------------------------------------------------------------
*/
*/
/*
ntup = inv_newtuple(obj_desc, newbuf, newpage, (char *) NULL, tupbytes);
- dptr = ((char *) ntup) + ntup->t_hoff - sizeof(ntup->t_bits) + sizeof(int4)
+ dptr = ((char *) ntup) + ntup->t_hoff -
+ (sizeof(HeapTupleData) - offsetof(HeapTupleData.t_bits)) +
+ sizeof(int4)
+ sizeof(fsblock->vl_len);
if (obj_desc->offset > obj_desc->lowbyte) {
char *attptr;
/* compute tuple size -- no nulls */
- hoff = sizeof(HeapTupleData) - sizeof(ntup->t_bits);
+ hoff = offsetof(HeapTuple->t_bits);
/* add in olastbyte, varlena.vl_len, varlena.vl_dat */
tupsize = hoff + (2 * sizeof(int32)) + nwrite;