mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
More VARHDRSZ additions.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.23 1997/12/06 22:57:15 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.24 1997/12/08 04:42:48 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -59,7 +59,7 @@ byteain(char *inputText)
|
||||
elog(WARN, "Bad input string for type bytea");
|
||||
}
|
||||
tp = inputText;
|
||||
byte += sizeof(int32); /* varlena? */
|
||||
byte += VARHDRSZ;
|
||||
result = (struct varlena *) palloc(byte);
|
||||
result->vl_len = byte; /* varlena? */
|
||||
rp = result->vl_dat;
|
||||
@ -88,11 +88,11 @@ shove_bytes(unsigned char *stuff, int len)
|
||||
{
|
||||
struct varlena *result;
|
||||
|
||||
result = (struct varlena *) palloc(len + sizeof(int32));
|
||||
result = (struct varlena *) palloc(len + VARHDRSZ);
|
||||
result->vl_len = len;
|
||||
memmove(result->vl_dat,
|
||||
stuff + sizeof(int32),
|
||||
len - sizeof(int32));
|
||||
stuff + VARHDRSZ,
|
||||
len - VARHDRSZ);
|
||||
return (result);
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ byteaout(struct varlena * vlena)
|
||||
}
|
||||
vp = vlena->vl_dat;
|
||||
len = 1; /* empty string has 1 char */
|
||||
for (i = vlena->vl_len - sizeof(int32); i != 0; i--, vp++) /* varlena? */
|
||||
for (i = vlena->vl_len - VARHDRSZ; i != 0; i--, vp++)
|
||||
if (*vp == '\\')
|
||||
len += 2;
|
||||
else if (isascii(*vp) && isprint(*vp))
|
||||
@ -135,7 +135,7 @@ byteaout(struct varlena * vlena)
|
||||
len += VARHDRSZ;
|
||||
rp = result = (char *) palloc(len);
|
||||
vp = vlena->vl_dat;
|
||||
for (i = vlena->vl_len - sizeof(int32); i != 0; i--) /* varlena? */
|
||||
for (i = vlena->vl_len - VARHDRSZ; i != 0; i--)
|
||||
if (*vp == '\\')
|
||||
{
|
||||
vp++;
|
||||
|
Reference in New Issue
Block a user