Lines Matching defs:rules
588 CheckGroup( XkbRF_RulesPtr rules,
596 for (i = 0, group = rules->groups; i < rules->num_groups; i++, group++) {
601 if (i == rules->num_groups)
615 XkbRF_RulesPtr rules)
626 if (!CheckGroup(rules, rule->model, mdefs->model))
649 if (!CheckGroup(rules, rule->layout,
666 if (!CheckGroup(rules, rule->variant,
686 XkbRF_ClearPartialMatches(XkbRF_RulesPtr rules)
691 for (i=0,rule=rules->rules;i<rules->num_rules;i++,rule++) {
697 XkbRF_ApplyPartialMatches(XkbRF_RulesPtr rules,XkbComponentNamesPtr names)
702 for (rule = rules->rules, i = 0; i < rules->num_rules; i++, rule++) {
710 XkbRF_CheckApplyRules( XkbRF_RulesPtr rules,
719 for (rule = rules->rules, i=0; i < rules->num_rules; rule++, i++) {
722 skip = XkbRF_CheckApplyRule(rule, mdefs, names, rules);
724 for ( ;(i < rules->num_rules) && (rule->number == skip);
829 XkbRF_GetComponents( XkbRF_RulesPtr rules,
838 XkbRF_ClearPartialMatches(rules);
839 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Normal);
840 XkbRF_ApplyPartialMatches(rules, names);
841 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Append);
842 XkbRF_ApplyPartialMatches(rules, names);
843 XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Option);
862 XkbRF_AddRule(XkbRF_RulesPtr rules)
864 if (rules->sz_rules<1) {
865 rules->sz_rules= 16;
866 rules->num_rules= 0;
867 rules->rules= calloc(rules->sz_rules, sizeof(XkbRF_RuleRec));
869 else if (rules->num_rules>=rules->sz_rules) {
870 rules->sz_rules*= 2;
871 rules->rules= realloc(rules->rules,
872 rules->sz_rules * sizeof(XkbRF_RuleRec));
874 if (!rules->rules) {
875 rules->sz_rules= rules->num_rules= 0;
879 memset((char *)&rules->rules[rules->num_rules], 0, sizeof(XkbRF_RuleRec));
880 return &rules->rules[rules->num_rules++];
884 XkbRF_AddGroup(XkbRF_RulesPtr rules)
886 if (rules->sz_groups<1) {
887 rules->sz_groups= 16;
888 rules->num_groups= 0;
889 rules->groups= calloc(rules->sz_groups, sizeof(XkbRF_GroupRec));
891 else if (rules->num_groups >= rules->sz_groups) {
892 rules->sz_groups *= 2;
893 rules->groups= realloc(rules->groups,
894 rules->sz_groups * sizeof(XkbRF_GroupRec));
896 if (!rules->groups) {
897 rules->sz_groups= rules->num_groups= 0;
901 memset((char *)&rules->groups[rules->num_groups], 0, sizeof(XkbRF_GroupRec));
902 return &rules->groups[rules->num_groups++];
906 XkbRF_LoadRules(FILE *file, XkbRF_RulesPtr rules)
913 if (!(rules && file))
921 if ((group= XkbRF_AddGroup(rules))!=NULL) {
926 if ((rule= XkbRF_AddRule(rules))!=NULL) {
939 XkbRF_LoadRulesByName(char *base,char *locale,XkbRF_RulesPtr rules)
945 if ((!base)||(!rules))
965 ok= XkbRF_LoadRules(file,rules);
981 XkbRF_Free(XkbRF_RulesPtr rules,Bool freeRules)
987 if (!rules)
989 if (rules->rules) {
990 for (i=0,rule=rules->rules;i<rules->num_rules;i++,rule++) {
1002 free(rules->rules);
1003 rules->num_rules= rules->sz_rules= 0;
1004 rules->rules= NULL;
1007 if (rules->groups) {
1008 for (i=0, group=rules->groups;i<rules->num_groups;i++,group++) {
1012 free(rules->groups);
1013 rules->num_groups= 0;
1014 rules->groups= NULL;
1017 free(rules);