MCPcopy Create free account
hub / github.com/coreboot/coreboot / sym_validate_range

Function sym_validate_range

util/kconfig/symbol.c:117–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

115}
116
117static void sym_validate_range(struct symbol *sym)
118{
119 struct property *prop;
120 struct symbol *range_sym;
121 int base;
122 long long val, val2;
123
124 switch (sym->type) {
125 case S_INT:
126 base = 10;
127 break;
128 case S_HEX:
129 base = 16;
130 break;
131 default:
132 return;
133 }
134 prop = sym_get_range_prop(sym);
135 if (!prop)
136 return;
137 val = strtoll(sym->curr.val, NULL, base);
138 range_sym = prop->expr->left.sym;
139 val2 = sym_get_range_val(range_sym, base);
140 if (val >= val2) {
141 range_sym = prop->expr->right.sym;
142 val2 = sym_get_range_val(range_sym, base);
143 if (val <= val2)
144 return;
145 }
146 sym->curr.val = range_sym->curr.val;
147}
148
149static void sym_set_changed(struct symbol *sym)
150{

Callers 1

sym_calc_valueFunction · 0.85

Calls 3

sym_get_range_propFunction · 0.85
sym_get_range_valFunction · 0.85
strtollFunction · 0.50

Tested by

no test coverage detected