length = ascii_len_n((const char*)tdr->data.data+tdr->offset, tdr->data.length-tdr->offset);
break;
case CH_UTF16:
- length = utf16_len_n(tdr->data.data+tdr->offset, tdr->data.length-tdr->offset);
+ length = utf16_null_terminated_len_n(tdr->data.data+tdr->offset, tdr->data.length-tdr->offset);
break;
default:
the result includes the null termination
limited by 'n' bytes
**/
-size_t utf16_len_n(const void *src, size_t n);
+size_t utf16_null_terminated_len_n(const void *src, size_t n);
char *strchr_m(const char *s, char c);
/**
the result includes the null termination
limited by 'n' bytes
**/
-size_t utf16_len_n(const void *src, size_t n)
+size_t utf16_null_terminated_len_n(const void *src, size_t n)
{
size_t len;
if (src_len == (size_t)-1) {
src_len = utf16_len(src);
} else {
- src_len = utf16_len_n(src, src_len);
+ src_len = utf16_null_terminated_len_n(src, src_len);
}
}
if (blob1.length > 0) {
size_t len;
- len = utf16_len_n(blob1.data,
- blob1.length);
+ len = utf16_null_terminated_len_n(blob1.data,
+ blob1.length);
blob1.length = len;
ok = convert_string_talloc(state,
size_t len;
bool ok;
- len = utf16_len_n(blob1.data,
- blob1.length);
+ len = utf16_null_terminated_len_n(blob1.data,
+ blob1.length);
blob1.length = len;
ok = convert_string_talloc(state,
buf += offset;
if (ucs2) {
- buf_len = utf16_len_n(buf, buf_len);
+ buf_len = utf16_null_terminated_len_n(buf, buf_len);
} else {
size_t tmp = strnlen((const char *)buf, buf_len);
if (tmp < buf_len) {
conv_src_len = ascii_len_n((const char *)(ndr->data+ndr->offset), ndr->data_size - ndr->offset);
} else {
NDR_PULL_NEED_BYTES(ndr, 2);
- conv_src_len = utf16_len_n(ndr->data+ndr->offset, ndr->data_size - ndr->offset);
+ conv_src_len = utf16_null_terminated_len_n(ndr->data+ndr->offset, ndr->data_size - ndr->offset);
}
byte_mul = 1; /* the length is now absolute */
break;
}
if (name.length) {
- len = utf16_len_n(name.data, name.length);
+ len = utf16_null_terminated_len_n(name.data, name.length);
convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX,
name.data, len,
&lvnc->gc, &lvnc->gc_len);
src_len = byte_len;
}
- src_len2 = utf16_len_n(src, src_len);
+ src_len2 = utf16_null_terminated_len_n(src, src_len);
/* ucs2 strings must be at least 2 bytes long */
if (src_len2 < 2) {
return 0;
}
- src_len2 = utf16_len_n(src, src_len);
+ src_len2 = utf16_null_terminated_len_n(src, src_len);
ret = convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, src, src_len2, (void **)&dest2, &ret_size);
if (!ret) {
return 0;
}
- src_len2 = utf16_len_n(src, src_len);
+ src_len2 = utf16_null_terminated_len_n(src, src_len);
if (src_len2 == 0) {
*dest = talloc_strdup(bufinfo->mem_ctx, "");
return src_len2 + alignment;