- len /= 2; /* buf is a set of UCS2 strings */
-
- while (len > 0) {
- char *val;
- size_t dstlen, thislen;
-
- thislen = strnlen_w(p, len) + 1;
- if (!convert_string_allocate(*values, CH_UTF16LE, CH_UNIX,
- p, thislen*2, (void *)&val, &dstlen, true)) {
- TALLOC_FREE(*values);
- return WERR_NOMEM;
- }
-
- ADD_TO_ARRAY(*values, char *, val, values, num_values);
- if (*values == NULL) {
- return WERR_NOMEM;
- }
-
- p += thislen;
- len -= thislen;