| 915 | } |
| 916 | |
| 917 | static gboolean all_terms_match(struct srd_decoder_inst *di, |
| 918 | const GSList *cond, gboolean *skip_allow) |
| 919 | { |
| 920 | const GSList *l; |
| 921 | struct srd_term *term; |
| 922 | |
| 923 | /* Caller ensures di, cond, sample_pos != NULL. */ |
| 924 | |
| 925 | for (l = cond; l; l = l->next) { |
| 926 | term = l->data; |
| 927 | if (!term_matches(di, term, skip_allow)) |
| 928 | return FALSE; |
| 929 | } |
| 930 | |
| 931 | if (di->skip_zero) { |
| 932 | di->abs_cur_samplenum--; |
| 933 | di->skip_zero = FALSE; |
| 934 | } |
| 935 | return TRUE; |
| 936 | } |
| 937 | |
| 938 | static gboolean |
| 939 | find_match(struct srd_decoder_inst *di) |
no test coverage detected