*** src/interfaces/ecpg/lib/data.c.orig	Sat May 13 14:38:43 2000
--- src/interfaces/ecpg/lib/data.c	Tue May 16 15:40:57 2000
***************
*** 1,4 ****
--- 1,5 ----
  #include <stdlib.h>
+ #include <string.h>
  
  #include <ecpgtype.h>
  #include <ecpglib.h>
***************
*** 26,33 ****
  			ECPGraise(lineno, ECPG_DATA_NOT_ARRAY, NULL);
  			return (false);
  		}
! 		else
! 			++pval;
  	}
  
  	/* We will have to decode the value */
--- 27,44 ----
  			ECPGraise(lineno, ECPG_DATA_NOT_ARRAY, NULL);
  			return (false);
  		}
! 
! 		switch (type)
! 		{
! 			case ECPGt_char:
! 			case ECPGt_unsigned_char:
! 			case ECPGt_varchar:
! 				break;
! 
! 			default:
! 				pval++;
! 				break;
! 		}
  	}
  
  	/* We will have to decode the value */
***************
*** 144,150 ****
--- 155,171 ----
  			case ECPGt_double:
  				if (pval)
  				{
+ 					if (isarray && *pval == '"')
+ 						pval++;
+ 
  					dres = strtod(pval, &scan_length);
+ 
+ 					if (isarray && *scan_length == '"')
+ 					{
+ 						scan_length++;
+ 						pval = scan_length;
+ 					}
+ 
  					if ((isarray && *scan_length != ',' && *scan_length != '}')
  						|| (!isarray && *scan_length != '\0'))	/* Garbage left */
  					{
