- for (i = 0; i<*len; i++)
- if (!d1_isspace(n->u.data.data[i]))
- break;
- while (*len && d1_isspace(n->u.data.data[*len - 1]))
- (*len)--;
- *len = *len - i;
- if (*len > 0)
- return n->u.data.data + i;
- }
- else
- if (*len > 0)
- return n->u.data.data;
+ size_t copy_len = max - *len;
+ if (copy_len > n->u.data.len)
+ copy_len = n->u.data.len;
+ memcpy(dst + *len, n->u.data.data, copy_len);
+ }
+ *len += n->u.data.len;