Lines Matching refs:p

128 static int dbcs_ptr2len(char_u *p);
129 static int dbcs_ptr2len_len(char_u *p, int size);
130 static int utf_ptr2cells_len(char_u *p, int size);
132 static int dbcs_ptr2cells_len(char_u *p, int size);
133 static int dbcs_ptr2char(char_u *p);
134 static int dbcs_head_off(char_u *base, char_u *p);
476 char_u *p; in mb_init() local
642 p = enc_locale(); in mb_init()
643 if (p == NULL || STRCMP(p, p_enc) != 0) in mb_init()
648 vim_free(p); in mb_init()
692 p = string_convert(&vimconv, (char_u *)buf, NULL); in mb_init()
693 if (p != NULL) in mb_init()
695 vim_free(p); in mb_init()
808 char_u *p = s; in remove_bom() local
810 while ((p = vim_strbyte(p, 0xef)) != NULL) in remove_bom()
812 if (p[1] == 0xbb && p[2] == 0xbf) in remove_bom()
813 STRMOVE(p, p + 3); in remove_bom()
815 ++p; in remove_bom()
829 mb_get_class(char_u *p) in mb_get_class() argument
831 return mb_get_class_buf(p, curbuf); in mb_get_class()
835 mb_get_class_buf(char_u *p, buf_T *buf) in mb_get_class_buf() argument
837 if (MB_BYTE2LEN(p[0]) == 1) in mb_get_class_buf()
839 if (p[0] == NUL || VIM_ISWHITE(p[0])) in mb_get_class_buf()
841 if (vim_iswordc_buf(p[0], buf)) in mb_get_class_buf()
845 if (enc_dbcs != 0 && p[0] != NUL && p[1] != NUL) in mb_get_class_buf()
846 return dbcs_class(p[0], p[1]); in mb_get_class_buf()
848 return utf_class_buf(utf_ptr2char(p), buf); in mb_get_class_buf()
1080 latin_ptr2len(char_u *p) in latin_ptr2len() argument
1082 return MB_BYTE2LEN(*p); in latin_ptr2len()
1087 char_u *p) in dbcs_ptr2len() argument
1092 len = MB_BYTE2LEN(*p); in dbcs_ptr2len()
1093 if (len == 2 && p[1] == NUL) in dbcs_ptr2len()
1105 latin_ptr2len_len(char_u *p, int size) in latin_ptr2len_len() argument
1107 if (size < 1 || *p == NUL) in latin_ptr2len_len()
1113 dbcs_ptr2len_len(char_u *p, int size) in dbcs_ptr2len_len() argument
1117 if (size < 1 || *p == NUL) in dbcs_ptr2len_len()
1122 len = MB_BYTE2LEN(*p); in dbcs_ptr2len_len()
1123 if (len == 2 && p[1] == NUL) in dbcs_ptr2len_len()
1611 latin_ptr2cells(char_u *p UNUSED) in latin_ptr2cells()
1618 char_u *p) in utf_ptr2cells() argument
1623 if (*p >= 0x80) in utf_ptr2cells()
1625 c = utf_ptr2char(p); in utf_ptr2cells()
1627 if (utf_ptr2len(p) == 1 || c == NUL) in utf_ptr2cells()
1638 dbcs_ptr2cells(char_u *p) in dbcs_ptr2cells() argument
1642 if (enc_dbcs == DBCS_JPNU && *p == 0x8e) in dbcs_ptr2cells()
1644 return MB_BYTE2LEN(*p); in dbcs_ptr2cells()
1653 latin_ptr2cells_len(char_u *p UNUSED, int size UNUSED) in latin_ptr2cells_len()
1659 utf_ptr2cells_len(char_u *p, int size) in utf_ptr2cells_len() argument
1664 if (size > 0 && *p >= 0x80) in utf_ptr2cells_len()
1666 if (utf_ptr2len_len(p, size) < utf8len_tab[*p]) in utf_ptr2cells_len()
1668 c = utf_ptr2char(p); in utf_ptr2cells_len()
1670 if (utf_ptr2len(p) == 1 || c == NUL) in utf_ptr2cells_len()
1681 dbcs_ptr2cells_len(char_u *p, int size) in dbcs_ptr2cells_len() argument
1685 if (size <= 1 || (enc_dbcs == DBCS_JPNU && *p == 0x8e)) in dbcs_ptr2cells_len()
1687 return MB_BYTE2LEN(*p); in dbcs_ptr2cells_len()
1717 mb_string2cells(char_u *p, int len) in mb_string2cells() argument
1722 for (i = 0; (len < 0 || i < len) && p[i] != NUL; i += (*mb_ptr2len)(p + i)) in mb_string2cells()
1723 clen += (*mb_ptr2cells)(p + i); in mb_string2cells()
1763 latin_ptr2char(char_u *p) in latin_ptr2char() argument
1765 return *p; in latin_ptr2char()
1769 dbcs_ptr2char(char_u *p) in dbcs_ptr2char() argument
1771 if (MB_BYTE2LEN(*p) > 1 && p[1] != NUL) in dbcs_ptr2char()
1772 return (p[0] << 8) + p[1]; in dbcs_ptr2char()
1773 return *p; in dbcs_ptr2char()
1784 utf_ptr2char(char_u *p) in utf_ptr2char() argument
1788 if (p[0] < 0x80) // be quick for ASCII in utf_ptr2char()
1789 return p[0]; in utf_ptr2char()
1791 len = utf8len_tab_zero[p[0]]; in utf_ptr2char()
1792 if (len > 1 && (p[1] & 0xc0) == 0x80) in utf_ptr2char()
1795 return ((p[0] & 0x1f) << 6) + (p[1] & 0x3f); in utf_ptr2char()
1796 if ((p[2] & 0xc0) == 0x80) in utf_ptr2char()
1799 return ((p[0] & 0x0f) << 12) + ((p[1] & 0x3f) << 6) in utf_ptr2char()
1800 + (p[2] & 0x3f); in utf_ptr2char()
1801 if ((p[3] & 0xc0) == 0x80) in utf_ptr2char()
1804 return ((p[0] & 0x07) << 18) + ((p[1] & 0x3f) << 12) in utf_ptr2char()
1805 + ((p[2] & 0x3f) << 6) + (p[3] & 0x3f); in utf_ptr2char()
1806 if ((p[4] & 0xc0) == 0x80) in utf_ptr2char()
1809 return ((p[0] & 0x03) << 24) + ((p[1] & 0x3f) << 18) in utf_ptr2char()
1810 + ((p[2] & 0x3f) << 12) + ((p[3] & 0x3f) << 6) in utf_ptr2char()
1811 + (p[4] & 0x3f); in utf_ptr2char()
1812 if ((p[5] & 0xc0) == 0x80 && len == 6) in utf_ptr2char()
1813 return ((p[0] & 0x01) << 30) + ((p[1] & 0x3f) << 24) in utf_ptr2char()
1814 + ((p[2] & 0x3f) << 18) + ((p[3] & 0x3f) << 12) in utf_ptr2char()
1815 + ((p[4] & 0x3f) << 6) + (p[5] & 0x3f); in utf_ptr2char()
1821 return p[0]; in utf_ptr2char()
1939 char_u *p, in utfc_ptr2char() argument
1947 c = utf_ptr2char(p); in utfc_ptr2char()
1948 len = utf_ptr2len(p); in utfc_ptr2char()
1951 if ((len > 1 || *p < 0x80) in utfc_ptr2char()
1952 && p[len] >= 0x80 in utfc_ptr2char()
1953 && UTF_COMPOSINGLIKE(p, p + len)) in utfc_ptr2char()
1955 cc = utf_ptr2char(p + len); in utfc_ptr2char()
1961 len += utf_ptr2len(p + len); in utfc_ptr2char()
1962 if (p[len] < 0x80 || !utf_iscomposing(cc = utf_ptr2char(p + len))) in utfc_ptr2char()
1979 char_u *p, in utfc_ptr2char_len() argument
1988 c = utf_ptr2char(p); in utfc_ptr2char_len()
1989 len = utf_ptr2len_len(p, maxlen); in utfc_ptr2char_len()
1991 if ((len > 1 || *p < 0x80) in utfc_ptr2char_len()
1993 && p[len] >= 0x80 in utfc_ptr2char_len()
1994 && UTF_COMPOSINGLIKE(p, p + len)) in utfc_ptr2char_len()
1996 cc = utf_ptr2char(p + len); in utfc_ptr2char_len()
2002 len += utf_ptr2len_len(p + len, maxlen - len); in utfc_ptr2char_len()
2004 || p[len] < 0x80 in utfc_ptr2char_len()
2005 || !utf_iscomposing(cc = utf_ptr2char(p + len))) in utfc_ptr2char_len()
2046 utf_ptr2len(char_u *p) in utf_ptr2len() argument
2051 if (*p == NUL) in utf_ptr2len()
2053 len = utf8len_tab[*p]; in utf_ptr2len()
2055 if ((p[i] & 0xc0) != 0x80) in utf_ptr2len()
2080 utf_ptr2len_len(char_u *p, int size) in utf_ptr2len_len() argument
2086 len = utf8len_tab[*p]; in utf_ptr2len_len()
2094 if ((p[i] & 0xc0) != 0x80) in utf_ptr2len_len()
2104 utfc_ptr2len(char_u *p) in utfc_ptr2len() argument
2107 int b0 = *p; in utfc_ptr2len()
2114 if (b0 < 0x80 && p[1] < 0x80) // be quick for ASCII in utfc_ptr2len()
2118 len = utf_ptr2len(p); in utfc_ptr2len()
2133 if (p[len] < 0x80 || !UTF_COMPOSINGLIKE(p + prevlen, p + len)) in utfc_ptr2len()
2140 len += utf_ptr2len(p + len); in utfc_ptr2len()
2151 utfc_ptr2len_len(char_u *p, int size) in utfc_ptr2len_len() argument
2158 if (size < 1 || *p == NUL) in utfc_ptr2len_len()
2160 if (p[0] < 0x80 && (size == 1 || p[1] < 0x80)) // be quick for ASCII in utfc_ptr2len_len()
2164 len = utf_ptr2len_len(p, size); in utfc_ptr2len_len()
2167 if ((len == 1 && p[0] >= 0x80) || len > size) in utfc_ptr2len_len()
2181 if (p[len] < 0x80) in utfc_ptr2len_len()
2188 len_next_char = utf_ptr2len_len(p + len, size - len); in utfc_ptr2len_len()
2192 if (!UTF_COMPOSINGLIKE(p + prevlen, p + len)) in utfc_ptr2len_len()
3793 latin_head_off(char_u *base UNUSED, char_u *p UNUSED) in latin_head_off()
3799 dbcs_head_off(char_u *base, char_u *p) in dbcs_head_off() argument
3805 if (p <= base || MB_BYTE2LEN(p[-1]) == 1 || *p == NUL) in dbcs_head_off()
3811 while (q < p) in dbcs_head_off()
3813 return (q == p) ? 0 : 1; in dbcs_head_off()
3821 dbcs_screen_head_off(char_u *base, char_u *p) in dbcs_screen_head_off() argument
3829 if (p <= base in dbcs_screen_head_off()
3830 || (enc_dbcs == DBCS_JPNU && p[-1] == 0x8e) in dbcs_screen_head_off()
3831 || MB_BYTE2LEN(p[-1]) == 1 in dbcs_screen_head_off()
3832 || *p == NUL) in dbcs_screen_head_off()
3840 while (q < p) in dbcs_screen_head_off()
3847 return (q == p) ? 0 : 1; in dbcs_screen_head_off()
3851 utf_head_off(char_u *base, char_u *p) in utf_head_off() argument
3861 if (*p < 0x80) // be quick for ASCII in utf_head_off()
3866 for (q = p; ; --q) in utf_head_off()
3877 if (len != (int)(s - q + 1) && len != (int)(p - q + 1)) in utf_head_off()
3903 return (int)(p - q); in utf_head_off()
4077 mb_off_next(char_u *base, char_u *p) in mb_off_next() argument
4084 if (*p < 0x80) // be quick for ASCII in mb_off_next()
4088 for (i = 0; (p[i] & 0xc0) == 0x80; ++i) in mb_off_next()
4093 for (j = 0; p - j > base; ++j) in mb_off_next()
4094 if ((p[-j] & 0xc0) != 0x80) in mb_off_next()
4096 if (utf8len_tab[p[-j]] != i + j) in mb_off_next()
4104 return (*mb_head_off)(base, p); in mb_off_next()
4112 mb_tail_off(char_u *base, char_u *p) in mb_tail_off() argument
4117 if (*p == NUL) in mb_tail_off()
4123 for (i = 0; (p[i + 1] & 0xc0) == 0x80; ++i) in mb_tail_off()
4126 for (j = 0; p - j > base; ++j) in mb_tail_off()
4127 if ((p[-j] & 0xc0) != 0x80) in mb_tail_off()
4129 if (utf8len_tab[p[-j]] != i + j + 1) in mb_tail_off()
4136 if (enc_dbcs == 0 || p[1] == NUL || MB_BYTE2LEN(*p) == 1) in mb_tail_off()
4140 return 1 - dbcs_head_off(base, p); in mb_tail_off()
4150 char_u *p; in utf_find_illegal() local
4167 p = ml_get_cursor(); in utf_find_illegal()
4171 tofree = string_convert(&vimconv, p, NULL); in utf_find_illegal()
4174 p = tofree; in utf_find_illegal()
4177 while (*p != NUL) in utf_find_illegal()
4181 len = utf_ptr2len(p); in utf_find_illegal()
4182 if (*p >= 0x80 && (len == 1 in utf_find_illegal()
4183 || utf_char2len(utf_ptr2char(p)) != len)) in utf_find_illegal()
4186 curwin->w_cursor.col += (colnr_T)(p - ml_get_cursor()); in utf_find_illegal()
4191 len = (int)(p - tofree); in utf_find_illegal()
4192 for (p = ml_get_cursor(); *p != NUL && len-- > 0; p += l) in utf_find_illegal()
4194 l = utf_ptr2len(p); in utf_find_illegal()
4200 p += len; in utf_find_illegal()
4227 char_u *p = s; in utf_valid_string() local
4229 while (end == NULL ? *p != NUL : p < end) in utf_valid_string()
4231 l = utf8len_tab_zero[*p]; in utf_valid_string()
4234 if (end != NULL && p + l > end) in utf_valid_string()
4236 ++p; in utf_valid_string()
4238 if ((*p++ & 0xc0) != 0x80) in utf_valid_string()
4250 dbcs_screen_tail_off(char_u *base, char_u *p) in dbcs_screen_tail_off() argument
4256 if (*p == NUL || p[1] == NUL in dbcs_screen_tail_off()
4257 || (enc_dbcs == DBCS_JPNU && *p == 0x8e) in dbcs_screen_tail_off()
4258 || MB_BYTE2LEN(*p) == 1) in dbcs_screen_tail_off()
4262 return 1 - dbcs_screen_head_off(base, p); in dbcs_screen_tail_off()
4284 char_u *p; in mb_adjustpos() local
4288 p = ml_get_buf(buf, lp->lnum, FALSE); in mb_adjustpos()
4289 if (*p == NUL || (int)STRLEN(p) < lp->col) in mb_adjustpos()
4292 lp->col -= (*mb_head_off)(p, p + lp->col); in mb_adjustpos()
4296 && p[lp->col] != TAB in mb_adjustpos()
4297 && vim_isprintc((*mb_ptr2char)(p + lp->col)) in mb_adjustpos()
4298 && ptr2cells(p + lp->col) > 1) in mb_adjustpos()
4309 char_u *p) in mb_prevptr() argument
4311 if (p > line) in mb_prevptr()
4312 MB_PTR_BACK(line, p); in mb_prevptr()
4313 return p; in mb_prevptr()
4323 char_u *p = str; in mb_charlen() local
4326 if (p == NULL) in mb_charlen()
4329 for (count = 0; *p != NUL; count++) in mb_charlen()
4330 p += (*mb_ptr2len)(p); in mb_charlen()
4341 char_u *p = str; in mb_charlen_len() local
4344 for (count = 0; *p != NUL && p < str + len; count++) in mb_charlen_len()
4345 p += (*mb_ptr2len)(p); in mb_charlen_len()
4454 enc_skip(char_u *p) in enc_skip() argument
4456 if (STRNCMP(p, "2byte-", 6) == 0) in enc_skip()
4457 return p + 6; in enc_skip()
4458 if (STRNCMP(p, "8bit-", 5) == 0) in enc_skip()
4459 return p + 5; in enc_skip()
4460 return p; in enc_skip()
4473 char_u *p, *s; in enc_canonize() local
4495 p = r; in enc_canonize()
4499 *p++ = '-'; in enc_canonize()
4501 *p++ = TOLOWER_ASC(*s); in enc_canonize()
4503 *p = NUL; in enc_canonize()
4506 p = enc_skip(r); in enc_canonize()
4509 if (STRNCMP(p, "microsoft-cp", 12) == 0) in enc_canonize()
4510 STRMOVE(p, p + 10); in enc_canonize()
4513 if (STRNCMP(p, "iso8859", 7) == 0) in enc_canonize()
4515 STRMOVE(p + 4, p + 3); in enc_canonize()
4516 p[3] = '-'; in enc_canonize()
4520 if (STRNCMP(p, "iso-8859", 8) == 0 && p[8] != '-') in enc_canonize()
4522 STRMOVE(p + 9, p + 8); in enc_canonize()
4523 p[8] = '-'; in enc_canonize()
4527 if (STRNCMP(p, "latin-", 6) == 0) in enc_canonize()
4528 STRMOVE(p + 5, p + 6); in enc_canonize()
4530 if (enc_canon_search(p) >= 0) in enc_canonize()
4533 if (p != r) in enc_canonize()
4534 STRMOVE(r, p); in enc_canonize()
4536 else if ((i = enc_alias_search(p)) >= 0) in enc_canonize()
4576 char *p; in enc_locale_env() local
4595 if ((p = (char *)vim_strchr((char_u *)s, '.')) != NULL) in enc_locale_env()
4597 if (p > s + 2 && STRNICMP(p + 1, "EUC", 3) == 0 in enc_locale_env()
4598 && !isalnum((int)p[4]) && p[4] != '-' && p[-3] == '_') in enc_locale_env()
4602 buf[14] = p[-2]; in enc_locale_env()
4603 buf[15] = p[-1]; in enc_locale_env()
4608 s = p + 1; in enc_locale_env()
4670 char_u *p = name; in encname2codepage() local
4673 if (STRNCMP(p, "8bit-", 5) == 0) in encname2codepage()
4674 p += 5; in encname2codepage()
4676 p += 6; in encname2codepage()
4678 if (p[0] == 'c' && p[1] == 'p') in encname2codepage()
4679 cp = atoi((char *)p + 2); in encname2codepage()
4680 else if ((idx = enc_canon_search(p)) >= 0) in encname2codepage()
4704 char *p; in my_iconv_open() local
4728 p = (char *)tobuf; in my_iconv_open()
4730 (void)iconv(fd, NULL, NULL, &p, &tolen); in my_iconv_open()
4731 if (p == NULL) in my_iconv_open()
4766 char_u *p; in iconv_string() local
4778 p = alloc(len); in iconv_string()
4779 if (p != NULL && done > 0) in iconv_string()
4780 mch_memmove(p, result, done); in iconv_string()
4782 result = p; in iconv_string()