Define text, varchar, and bpchar string length functions.

This commit is contained in:
Thomas G. Lockhart 1997-12-16 15:59:11 +00:00
parent 6873af55cf
commit 6316f4d3db
2 changed files with 25 additions and 13 deletions

View File

@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.12 1997/12/06 22:57:14 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.13 1997/12/16 15:59:09 thomas Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -191,6 +191,15 @@ bcTruelen(char *arg)
return (i + 1); return (i + 1);
} }
int32
bpcharlen(char *arg)
{
if (!PointerIsValid(arg))
elog(WARN, "Bad (null) char() external representation", NULL);
return(bcTruelen(arg));
} /* bpcharlen() */
bool bool
bpchareq(char *arg1, char *arg2) bpchareq(char *arg1, char *arg2)
{ {
@ -338,6 +347,15 @@ vcTruelen(char *arg)
return i; return i;
} }
int32
varcharlen(char *arg)
{
if (!PointerIsValid(arg))
elog(WARN, "Bad (null) varchar() external representation", NULL);
return(vcTruelen(arg));
} /* vclen() */
bool bool
varchareq(char *arg1, char *arg2) varchareq(char *arg1, char *arg2)
{ {

View File

@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.24 1997/12/08 04:42:48 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.25 1997/12/16 15:59:11 thomas Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -210,20 +210,14 @@ textout(struct varlena * vlena)
* returns the actual length of a text* (which may be less than * returns the actual length of a text* (which may be less than
* the VARSIZE of the text*) * the VARSIZE of the text*)
*/ */
#ifdef NOT_USED
int int
textlen(text *t) textlen(text *t)
{ {
int i = 0; if (!PointerIsValid(t))
int max = VARSIZE(t) - VARHDRSZ; elog(WARN,"Null input to textlen");
char *ptr = VARDATA(t);
while (i < max && *ptr++) return (VARSIZE(t) - VARHDRSZ);
i++; } /* textlen() */
return i;
}
#endif
/* /*
* textcat - * textcat -