132 if (nprinted < (
size_t) avail)
135 str->
len += (int) nprinted;
147 return (
int) nprinted;
216 memcpy(str->
data + str->
len, data, datalen);
254 elog(
ERROR,
"invalid string enlargement request size: %d", needed);
257 (
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
259 errdetail(
"Cannot enlarge string buffer containing %d bytes by %d more bytes.",
262 needed += str->
len + 1;
266 if (needed <= str->maxlen)
275 while (needed > newlen)
284 newlen = (int) MaxAllocSize;
StringInfo makeStringInfo(void)
StringInfoData * StringInfo
int errcode(int sqlerrcode)
void appendStringInfo(StringInfo str, const char *fmt,...)
size_t pvsnprintf(char *buf, size_t len, const char *fmt, va_list args)
void appendStringInfoString(StringInfo str, const char *s)
int errdetail(const char *fmt,...)
void enlargeStringInfo(StringInfo str, int needed)
void resetStringInfo(StringInfo str)
#define ereport(elevel, rest)
void appendStringInfoChar(StringInfo str, char ch)
void initStringInfo(StringInfo str)
void appendStringInfoSpaces(StringInfo str, int count)
#define Assert(condition)
void * repalloc(void *pointer, Size size)
int errmsg(const char *fmt,...)
int appendStringInfoVA(StringInfo str, const char *fmt, va_list args)
void appendBinaryStringInfo(StringInfo str, const char *data, int datalen)