Lines Matching full:fi

35 		if (!strcmp(pv->fi.name, name))  in lws_fi_lookup()
54 switch (pv->fi.type) { in lws_fi()
59 pv->fi.times++; in lws_fi()
60 if (pv->fi.times >= pv->fi.pre) in lws_fi()
61 if (pv->fi.times < pv->fi.pre + pv->fi.count) in lws_fi()
66 if (lws_xos_percent((lws_xos_t *)&fic->xos, (int)pv->fi.pre)) in lws_fi()
72 n = (int)((pv->fi.times++) % pv->fi.count); in lws_fi()
73 if (pv->fi.pattern[n >> 3] & (1 << (n & 7))) in lws_fi()
86 fic->name ? fic->name : "unk", pv->fi.name); in lws_fi()
102 if (pv->fi.type != LWSFI_RANGE) { in lws_fi_range()
108 d = pv->fi.count - pv->fi.pre; in lws_fi_range()
110 *result = pv->fi.pre + (lws_xos((lws_xos_t *)&fic->xos) % d); in lws_fi_range()
144 lws_fi_add(lws_fi_ctx_t *fic, const lws_fi_t *fi) in lws_fi_add() argument
147 size_t n = strlen(fi->name); in lws_fi_add()
155 memcpy(&pv->fi, fi, sizeof(*fi)); in lws_fi_add()
156 pv->fi.name = (const char *)&pv[1]; in lws_fi_add()
157 memcpy(&pv[1], fi->name, n + 1); in lws_fi_add()
196 lws_fi_t fi = *pfi; in do_inherit() local
198 fi.name += trim; in do_inherit()
201 pfi->name, fi.name); in do_inherit()
203 if (fi.type == LWSFI_PATTERN_ALLOC) { in do_inherit()
204 fi.pattern = lws_malloc((size_t)((fi.count >> 3) + 1), __func__); in do_inherit()
205 if (!fi.pattern) in do_inherit()
207 memcpy((uint8_t *)fi.pattern, pfi->pattern, in do_inherit()
208 (size_t)((fi.count >> 3) + 1)); in do_inherit()
211 lws_fi_add(fic_dest, &fi); in do_inherit()
229 size_t nl = strlen(pv->fi.name); in lws_fi_inherit_copy()
232 do_inherit(fic_dest, &pv->fi, 0); in lws_fi_inherit_copy()
235 !strncmp(pv->fi.name, scope, sl) && in lws_fi_inherit_copy()
236 pv->fi.name[sl] == '/') in lws_fi_inherit_copy()
237 do_inherit(fic_dest, &pv->fi, sl + 1); in lws_fi_inherit_copy()
240 pv->fi.name[sl] == '=' && in lws_fi_inherit_copy()
241 !strncmp(pv->fi.name + sl + 1, value, vl) && in lws_fi_inherit_copy()
242 pv->fi.name[sl + 1 + vl] == '/') in lws_fi_inherit_copy()
243 do_inherit(fic_dest, &pv->fi, sl + vl + 2); in lws_fi_inherit_copy()
256 if (pv->fi.type == LWSFI_PATTERN_ALLOC && pv->fi.pattern) { in lws_fi_destroy()
257 lws_free((void *)pv->fi.pattern); in lws_fi_destroy()
258 pv->fi.pattern = NULL; in lws_fi_destroy()
289 lws_fi_t fi; in lws_fi_deserialize() local
319 memset(&fi, 0, sizeof(fi)); in lws_fi_deserialize()
323 fi.name = nm; in lws_fi_deserialize()
324 fi.type = LWSFI_ALWAYS; in lws_fi_deserialize()
345 fi.type = LWSFI_PATTERN_ALLOC; in lws_fi_deserialize()
350 fi.pattern = pat; in lws_fi_deserialize()
351 fi.count = (uint64_t)ts.token_len; in lws_fi_deserialize()
366 fi.pre = (uint64_t)atoll(ts.token); in lws_fi_deserialize()
380 fi.count = (uint64_t)atoll( in lws_fi_deserialize()
382 fi.type = LWSFI_RANGE; in lws_fi_deserialize()
385 if (fi.pre >= fi.count) { in lws_fi_deserialize()
393 (unsigned long long)fi.pre, in lws_fi_deserialize()
394 (unsigned long long)fi.count); in lws_fi_deserialize()
399 (int)fi.pre); in lws_fi_deserialize()
400 fi.type = LWSFI_PROBABILISTIC; in lws_fi_deserialize()
408 lws_fi_add(fic, &fi); in lws_fi_deserialize()
440 lws_fi_add(fic, &fi); in lws_fi_deserialize()