- buf_copy_rpad((char*)bounce_cur, v->flt64_cnt * sizeof (flt64),
- case_data(c, v->fv)->s,
- v->width);
+ *bounce_cur = case_num (c, v->fv);
+ bounce_cur += v->flt64_cnt;
+ }
+ else
+ { int ofs = 0;
+ while (ofs < v->width)
+ {
+ int chunk = MIN (MAX_LONG_STRING, v->width - ofs);
+ int nv = DIV_RND_UP (chunk, sizeof (flt64));
+ buf_copy_rpad ((char *) bounce_cur, nv * sizeof (flt64),
+ case_data (c, v->fv)->s + ofs, chunk);
+ bounce_cur += nv;
+ ofs += chunk;
+ }