if( is_inout ) { phs->sv = value; /* Make a reference to the input variable */ SvREFCNT_inc( value ); /* Increment reference to variable */ if( SQL_PARAM_INPUT != phs->paramType ) imp_sth->bHasOutput = 1; if( SQL_PARAM_OUTPUT != phs->paramType ) imp_sth->bHasInput = 1; if( maxlen > 0 ) { maxlen++; /* Add one for potential null terminator */ /* Allocate new buffer only if current buffer isn't big enough */ if( maxlen > phs->bufferSize ) { if( 0 == phs->bufferSize ) /* new buffer */ Newc( 1, phs->buffer, maxlen, SQLCHAR, void* ); else Renewc( phs->buffer, maxlen, SQLCHAR, void* ); phs->bufferSize = maxlen; } } }