Lines Matching defs:rv

45 freeRuleValue(__nis_rule_value_t *rv, int count) {
48 if (rv == 0)
53 if (rv[n].colName != 0) {
54 for (i = 0; i < rv[n].numColumns; i++) {
55 sfree(rv[n].colName[i]);
57 free(rv[n].colName);
59 if (rv[n].colVal != 0) {
60 for (i = 0; i < rv[n].numColumns; i++) {
61 for (j = 0; j < rv[n].colVal[i].numVals; j++) {
62 sfree(rv[n].colVal[i].val[j].value);
64 if (rv[n].colVal[i].numVals > 0)
65 sfree(rv[n].colVal[i].val);
67 free(rv[n].colVal);
70 if (rv[n].attrName != 0) {
71 for (i = 0; i < rv[n].numAttrs; i++) {
72 sfree(rv[n].attrName[i]);
74 free(rv[n].attrName);
76 if (rv[n].attrVal != 0) {
77 for (i = 0; i < rv[n].numAttrs; i++) {
78 for (j = 0; j < rv[n].attrVal[i].numVals;
80 sfree(rv[n].attrVal[i].val[j].value);
82 if (rv[n].attrVal[i].numVals > 0)
83 sfree(rv[n].attrVal[i].val);
85 free(rv[n].attrVal);
89 sfree(rv);
112 __nis_rule_value_t *rv;
127 rv = realloc(old, newCount * sizeof (rv[0]));
128 if (rv == 0) {
131 myself, (oldCount+newCount) * sizeof (rv[0]),
132 oldCount, newCount, sizeof (rv[0]));
137 (void) memset(&rv[oldCount], 0, (newCount-oldCount)*sizeof (rv[0]));
140 rv[i].numColumns = rvIn->numColumns;
141 if (rv[i].numColumns > 0) {
142 rv[i].colName = cloneName(rvIn->colName,
143 rv[i].numColumns);
144 rv[i].colVal = cloneValue(rvIn->colVal,
145 rv[i].numColumns);
147 if (rv[i].numColumns > 0 &&
148 (rv[i].colName == 0 || rv[i].colVal == 0)) {
149 freeRuleValue(rv, i);
152 rv[i].numAttrs = rvIn->numAttrs;
153 rv[i].attrName = cloneName(rvIn->attrName, rv[i].numAttrs);
154 rv[i].attrVal = cloneValue(rvIn->attrVal, rv[i].numAttrs);
155 if (rv[i].numAttrs > 0 &&
156 (rv[i].attrName == 0 || rv[i].attrVal == 0)) {
157 freeRuleValue(rv, i);
162 return (rv);
388 int valueLen, __nis_rule_value_t *rv) {
391 if (name == 0 || rv == 0)
395 &rv->numAttrs, &rv->attrName, &rv->attrVal));
399 addSAttr2RuleValue(char *name, char *value, __nis_rule_value_t *rv) {
400 return (addAttr2RuleValue(vt_string, name, value, slen(value), rv));
405 int valueLen, __nis_rule_value_t *rv) {
408 if (name == 0 || rv == 0)
412 &rv->numColumns, &rv->colName, &rv->colVal));
416 addSCol2RuleValue(char *name, char *value, __nis_rule_value_t *rv) {
417 return (addCol2RuleValue(vt_string, name, value, slen(value), rv));
427 __nis_rule_value_t *rv) {
433 rv = initRuleValue(1, rv);
434 if (rv == 0)
454 itemvalue.itemvalue_len, rv) != 0) {
455 freeRuleValue(rv, 1);
456 rv = 0;
461 return (rv);
572 __nis_rule_value_t *rv, int *stat) {
592 vnew = getMappingElement(&rl->element[i], native, rv, stat);
603 * and add them to the rule-value 'rv'.
613 __nis_rule_value_t *rv,
625 if (rv == 0)
645 rval = buildRvalue(&r->rhs, rnative, rv, stat);
651 return (rv);
661 return (rv);
668 return (rv);
691 dn = findDNs(myself, rv, 1,
729 return (rv);
736 lval->val[i].value, 0, 0, rv);
765 rval->val[j].length, rv);
782 return (rv);
790 delAttrFromRuleValue(__nis_rule_value_t *rv, char *attrName) {
793 if (rv == 0 || attrName == 0)
796 for (i = 0; i < rv->numAttrs; i++) {
797 if (strcasecmp(attrName, rv->attrName[i]) == 0) {
800 for (j = 0; j < rv->attrVal[i].numVals; j++)
801 sfree(rv->attrVal[i].val[j].value);
802 if (rv->attrVal[i].numVals > 0)
803 sfree(rv->attrVal[i].val);
805 sfree(rv->attrName[i]);
808 for (j = i+1; j < rv->numAttrs; j++) {
809 rv->attrName[j-1] = rv->attrName[j];
810 rv->attrVal[j-1] = rv->attrVal[j];
813 rv->numAttrs -= 1;
825 delColFromRuleValue(__nis_rule_value_t *rv, char *colName) {
828 if (rv == 0 || colName == 0)
831 for (i = 0; i < rv->numColumns; i++) {
832 if (strcmp(colName, rv->colName[i]) == 0) {
835 for (j = 0; j < rv->colVal[i].numVals; j++)
836 sfree(rv->colVal[i].val[j].value);
837 if (rv->colVal[i].numVals > 0)
838 sfree(rv->colVal[i].val);
840 sfree(rv->colName[i]);
843 for (j = i+1; j < rv->numColumns; j++) {
844 rv->colName[j-1] = rv->colName[j];
845 rv->colVal[j-1] = rv->colVal[j];
848 rv->numColumns -= 1;
857 * rule-value 'rv'.
858 * If there's an error, 'rv' is deleted, and NULL returned.
861 addObjectClasses(__nis_rule_value_t *rv, char *objClassAttrs) {
866 * Expect to only use this for existing rule-values, so rv == 0 is
869 if (rv == 0)
877 return (rv);
886 freeRuleValue(rv, 1);
893 freeRuleValue(rv, 1);
913 if (addSAttr2RuleValue(name, value, rv) != 0) {
916 freeRuleValue(rv, 1);
924 return (rv);
959 findVal(char *name, __nis_rule_value_t *rv, __nis_mapping_item_type_t type) {
963 for (i = 0; i < rv->numColumns; i++) {
964 if (rv->colName[i] == 0)
966 if (strcmp(name, rv->colName[i]) == 0) {
967 return (valString(&rv->colVal[i]));
971 for (i = 0; i < rv->numAttrs; i++) {
972 if (rv->attrName[i] == 0)
974 if (strcasecmp(name, rv->attrName[i]) == 0) {
975 return (valString(&rv->attrVal[i]));
987 * Attempt to derive a string identifying the rule-value 'rv'. The
988 * returned string is a pointer, either into 'rv', or to static
992 rvId(__nis_rule_value_t *rv, __nis_mapping_item_type_t type) {
995 if (rv == 0)
998 if (rv->numColumns > 0 && type == mit_nisplus) {
1003 if ((v = findVal("cname", rv, type)) != 0)
1005 else if ((v = findVal("name", rv, type)) != 0)
1007 else if ((v = findVal("key", rv, type)) != 0)
1009 else if ((v = findVal("alias", rv, type)) != 0)
1011 } else if (rv->numAttrs > 0 && type == mit_ldap) {
1015 if ((v = findVal("dn", rv, type)) != 0)
1017 else if ((v = findVal("cn", rv, type)) != 0)
1027 * contains the number of rule-values in 'rv'. On exit, it contains
1031 mergeRuleValueWithSameDN(__nis_rule_value_t *rv, int *numVals) {
1041 if ((dn = findVal("dn", &rv[i], mit_ldap)) != 0) {
1049 &rv[i]) == -1) {
1064 &rv[i]);