Lines Matching refs:src

159 int32_t utf32_from_utf8_at(const char *src, size_t src_len, size_t index, size_t *next_index)
169 int32_t ret = utf32_at_internal(src + index, &num_read);
177 ssize_t utf32_to_utf8_length(const char32_t *src, size_t src_len)
179 if (src == NULL || src_len == 0) {
184 const char32_t *end = src + src_len;
185 while (src < end) {
186 ret += utf32_codepoint_utf8_length(*src++);
191 void utf32_to_utf8(const char32_t* src, size_t src_len, char* dst)
193 if (src == NULL || src_len == 0 || dst == NULL) {
197 const char32_t *cur_utf32 = src;
198 const char32_t *end_utf32 = src + src_len;
240 char16_t *strcpy16(char16_t *dst, const char16_t *src)
243 const char16_t *p = src;
262 char16_t *strncpy16(char16_t *dst, const char16_t *src, size_t n)
265 const char16_t *p = src;
333 void utf16_to_utf8(const char16_t* src, size_t src_len, char* dst)
335 if (src == NULL || src_len == 0 || dst == NULL) {
339 const char16_t* cur_utf16 = src;
340 const char16_t* const end_utf16 = src + src_len;
364 ssize_t utf8_length(const char *src)
366 const char *cur = src;
407 ssize_t utf16_to_utf8_length(const char16_t *src, size_t src_len)
409 if (src == NULL || src_len == 0) {
414 const char16_t* const end = src + src_len;
415 while (src < end) {
416 if ((*src & 0xFC00) == 0xD800 && (src + 1) < end
417 && (*++src & 0xFC00) == 0xDC00) {
420 src++;
422 ret += utf32_codepoint_utf8_length((char32_t) *src++);
448 size_t utf8_to_utf32_length(const char *src, size_t src_len)
450 if (src == NULL || src_len == 0) {
457 for (cur = src, end = src + src_len, num_to_skip = 1;
473 void utf8_to_utf32(const char* src, size_t src_len, char32_t* dst)
475 if (src == NULL || src_len == 0 || dst == NULL) {
479 const char* cur = src;
480 const char* const end = src + src_len;
490 static inline uint32_t utf8_to_utf32_codepoint(const uint8_t *src, size_t length)
497 return src[0];
499 unicode = src[0] & 0x1f;
500 utf8_shift_and_mask(&unicode, src[1]);
503 unicode = src[0] & 0x0f;
504 utf8_shift_and_mask(&unicode, src[1]);
505 utf8_shift_and_mask(&unicode, src[2]);
508 unicode = src[0] & 0x07;
509 utf8_shift_and_mask(&unicode, src[1]);
510 utf8_shift_and_mask(&unicode, src[2]);
511 utf8_shift_and_mask(&unicode, src[3]);
517 //printf("Char at %p: len=%d, utf-16=%p\n", src, length, (void*)result);
577 char16_t* utf8_to_utf16_n(const uint8_t* src, size_t srcLen, char16_t* dst, size_t dstLen) {
578 const uint8_t* const u8end = src + srcLen;
579 const uint8_t* u8cur = src;