--- unified_odbc.c_orig Wed Apr 5 14:06:29 2000 +++ unified_odbc.c Mon Apr 3 09:59:46 2000 @@ -706,7 +706,7 @@ SWORD sqltype, scale, nullable, ctype; UDWORD precision; UODBC_RESULT *result=NULL; - int res_ind, numArgs, i, ne; + int res_ind, numArgs, i, ne, called_byref; RETCODE rc; numArgs = ARG_COUNT(ht); @@ -723,6 +723,9 @@ return; } } + called_byref = 0; + if (ParameterPassedByReference(ht, numArgs)) + called_byref = 1; convert_to_long(arg1); res_ind = arg1->value.lval; @@ -847,6 +850,10 @@ } if (result->numparams > 0){ + if (called_byref){ + *arg2 = arr; + pval_copy_constructor(arg2); + } SQLFreeStmt(result->stmt, SQL_RESET_PARAMS); for(i = 0; i < result->numparams; i++){ if (params[i].fp != -1)