Fix another place that was assuming that a local variable declared as

"struct varlena" would be at least word-aligned.  Per buildfarm results
from gypsy_moth.  I did a little bit of trawling for other instances of
this coding pattern, and didn't find any; but if we turn up any more
of them I think we'd better revert the "char [4]" patch and find another
way of making tuptoaster.c alignment-safe.
This commit is contained in:
Tom Lane 2008-03-01 19:26:22 +00:00
parent e04fa58dcd
commit d50e256b67

View File

@ -24,7 +24,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/storage/large_object/inv_api.c,v 1.127 2008/01/01 19:45:52 momjian Exp $ * $PostgreSQL: pgsql/src/backend/storage/large_object/inv_api.c,v 1.128 2008/03/01 19:26:22 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -516,7 +516,8 @@ inv_write(LargeObjectDesc *obj_desc, const char *buf, int nbytes)
struct struct
{ {
bytea hdr; bytea hdr;
char data[LOBLKSIZE]; char data[LOBLKSIZE]; /* make struct big enough */
int32 align_it; /* ensure struct is aligned well enough */
} workbuf; } workbuf;
char *workb = VARDATA(&workbuf.hdr); char *workb = VARDATA(&workbuf.hdr);
HeapTuple newtup; HeapTuple newtup;
@ -707,7 +708,8 @@ inv_truncate(LargeObjectDesc *obj_desc, int len)
struct struct
{ {
bytea hdr; bytea hdr;
char data[LOBLKSIZE]; char data[LOBLKSIZE]; /* make struct big enough */
int32 align_it; /* ensure struct is aligned well enough */
} workbuf; } workbuf;
char *workb = VARDATA(&workbuf.hdr); char *workb = VARDATA(&workbuf.hdr);
HeapTuple newtup; HeapTuple newtup;