Lines Matching refs:str
6 static uint32_t get_next_number(const char **str)
11 while (**str != '\0') {
12 if (**str < '0' || **str > '9')
15 num = num*10 + (**str - '0');
16 (*str)++;
30 get_next_seq_range(const char **str, uint32_t *seq1_r, uint32_t *seq2_r)
34 if (**str == '*') {
37 *str += 1;
39 seq1 = get_next_number(str);
44 if (**str != ':')
48 *str += 1;
50 if (**str == '*') {
52 *str += 1;
54 seq2 = get_next_number(str);
71 int imap_seq_set_parse(const char *str, ARRAY_TYPE(seq_range) *dest)
75 while (*str != '\0') {
76 if (get_next_seq_range(&str, &seq1, &seq2) < 0)
80 if (*str == ',')
81 str++;
82 else if (*str != '\0')
88 int imap_seq_set_nostar_parse(const char *str, ARRAY_TYPE(seq_range) *dest)
90 if (imap_seq_set_parse(str, dest) < 0)
100 int imap_seq_range_parse(const char *str, uint32_t *seq1_r, uint32_t *seq2_r)
102 if (get_next_seq_range(&str, seq1_r, seq2_r) < 0)
104 return *str == '\0' ? 0 : -1;