@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $ Header : / cvsroot / pgsql / src / backend / utils / adt / varchar . c , v 1.67 2000 / 07 / 03 23 : 09 : 53 wieck Exp $
* $ Header : / cvsroot / pgsql / src / backend / utils / adt / varchar . c , v 1.68 2000 / 07 / 07 21 : 12 : 50 tgl Exp $
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
@ -115,9 +115,11 @@ bpcharout(PG_FUNCTION_ARGS)
char * result ;
int len ;
/* copy and add null term */
len = VARSIZE ( s ) - VARHDRSZ ;
result = ( char * ) palloc ( len + 1 ) ;
StrNCpy ( result , VARDATA ( s ) , len + 1 ) ; /* copy and add null term */
memcpy ( result , VARDATA ( s ) , len ) ;
result [ len ] = ' \0 ' ;
# ifdef CYR_RECODE
convertstr ( result , len , 1 ) ;
@ -268,8 +270,8 @@ bpchar_name(char *s)
return NULL ;
len = VARSIZE ( s ) - VARHDRSZ ;
if ( len > NAMEDATALEN )
len = NAMEDATALEN ;
if ( len > = NAMEDATALEN )
len = NAMEDATALEN - 1 ;
while ( len > 0 )
{
@ -284,7 +286,7 @@ bpchar_name(char *s)
# endif
result = ( NameData * ) palloc ( NAMEDATALEN ) ;
StrNC py( NameStr ( * result ) , VARDATA ( s ) , NAMEDATALEN ) ;
memc py( NameStr ( * result ) , VARDATA ( s ) , len ) ;
/* now null pad to full length... */
while ( len < NAMEDATALEN )
@ -316,7 +318,7 @@ name_bpchar(NameData *s)
# endif
result = ( char * ) palloc ( VARHDRSZ + len ) ;
strn cpy( VARDATA ( result ) , NameStr ( * s ) , len ) ;
mem cpy( VARDATA ( result ) , NameStr ( * s ) , len ) ;
VARATT_SIZEP ( result ) = len + VARHDRSZ ;
return result ;
@ -365,9 +367,11 @@ varcharout(PG_FUNCTION_ARGS)
char * result ;
int len ;
/* copy and add null term */
len = VARSIZE ( s ) - VARHDRSZ ;
result = ( char * ) palloc ( len + 1 ) ;
StrNCpy ( result , VARDATA ( s ) , len + 1 ) ; /* copy and add null term */
memcpy ( result , VARDATA ( s ) , len ) ;
result [ len ] = ' \0 ' ;
# ifdef CYR_RECODE
convertstr ( result , len , 1 ) ;