Fix lsi/lso puts with DBF_STRING data
This commit is contained in:
@@ -158,9 +158,10 @@ static long put_array_info(DBADDR *paddr, long nNew)
|
||||
{
|
||||
lsiRecord *prec = (lsiRecord *) paddr->precord;
|
||||
|
||||
if (nNew == prec->sizv)
|
||||
--nNew; /* truncated string */
|
||||
prec->val[nNew] = 0; /* ensure data is terminated */
|
||||
if (nNew >= prec->sizv)
|
||||
nNew = prec->sizv - 1; /* truncated string */
|
||||
if (paddr->field_type == DBF_CHAR)
|
||||
prec->val[nNew] = 0; /* ensure data is terminated */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -200,9 +200,10 @@ static long put_array_info(DBADDR *paddr, long nNew)
|
||||
{
|
||||
lsoRecord *prec = (lsoRecord *) paddr->precord;
|
||||
|
||||
if (nNew == prec->sizv)
|
||||
--nNew; /* truncated string */
|
||||
prec->val[nNew] = 0; /* ensure data is terminated */
|
||||
if (nNew >= prec->sizv)
|
||||
nNew = prec->sizv - 1; /* truncated string */
|
||||
if (paddr->field_type == DBF_CHAR)
|
||||
prec->val[nNew] = 0; /* ensure data is terminated */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user