Lines Matching defs:spec2
894 static enum selabel_cmp_result incomp(struct spec *spec1, struct spec *spec2, const char *reason, int i, int j)
900 j, spec2->regex_str, spec2->mode, spec2->lr.ctx_raw);
918 struct spec *spec2 = &spec_arr2[j];
925 if (!spec1->hasMetaChars && spec2->hasMetaChars) {
931 if (spec1->hasMetaChars && !spec2->hasMetaChars) {
937 if (spec1->regex && spec2->regex) {
938 if (regex_cmp(spec1->regex, spec2->regex) == SELABEL_INCOMPARABLE){
939 return incomp(spec1, spec2, "regex", i, j);
942 if (strcmp(spec1->regex_str, spec2->regex_str))
943 return incomp(spec1, spec2, "regex_str", i, j);
946 if (spec1->mode != spec2->mode)
947 return incomp(spec1, spec2, "mode", i, j);
949 if (spec1->stem_id == -1 && spec2->stem_id != -1)
950 return incomp(spec1, spec2, "stem_id", i, j);
951 if (spec2->stem_id == -1 && spec1->stem_id != -1)
952 return incomp(spec1, spec2, "stem_id", i, j);
953 if (spec1->stem_id != -1 && spec2->stem_id != -1) {
955 struct stem *stem2 = &stem_arr2[spec2->stem_id];
958 return incomp(spec1, spec2, "stem", i, j);
961 if (strcmp(spec1->lr.ctx_raw, spec2->lr.ctx_raw))
962 return incomp(spec1, spec2, "ctx_raw", i, j);