tb_long_t tb_string_strirchr(tb_string_ref_t string, tb_size_t p, tb_char_t c) { // check tb_char_t const* s = tb_string_cstr(string); tb_size_t n = tb_string_size(string); tb_assert_and_check_return_val(s && p && p < n, -1); // done tb_char_t* q = tb_strnirchr(s + p, n, c); return (q? q - s : -1); }
/* ////////////////////////////////////////////////////////////////////////////////////// * interfaces */ tb_char_t* tb_strirchr(tb_char_t const* s, tb_char_t c) { tb_assert_and_check_return_val(s, tb_null); return tb_strnirchr(s, tb_strlen(s), c); }