Lines Matching defs:protoset
274 static size_t protoset_index(const char * const *protoset, const char *proto)
276 const char * const *p = protoset;
283 return p - protoset;
287 static void protoset_set(const char **protoset, const char *proto)
290 size_t n = protoset_index(protoset, proto);
292 if(!protoset[n]) {
294 protoset[n] = proto;
295 protoset[n + 1] = NULL;
301 static void protoset_clear(const char **protoset, const char *proto)
304 size_t n = protoset_index(protoset, proto);
306 if(protoset[n]) {
307 size_t m = protoset_index(protoset, NULL) - 1;
309 protoset[n] = protoset[m];
310 protoset[m] = NULL;
334 const char **protoset;
348 protoset = malloc((proto_count + 1) * sizeof(*protoset));
349 if(!protoset) {
355 protoset[0] = NULL;
360 protoset_set(protoset, p);
384 free((char *) protoset);
392 protoset[0] = NULL;
396 memcpy((char *) protoset,
397 built_in_protos, (proto_count + 1) * sizeof(*protoset));
407 protoset_clear(protoset, p);
410 protoset[0] = NULL;
413 protoset_set(protoset, p);
420 protoset[0] = NULL;
428 qsort((char *) protoset, protoset_index(protoset, NULL), sizeof(*protoset),
432 for(proto = 0; protoset[proto] && !result; proto++)
433 result = curlx_dyn_addf(&obuf, "%s,", protoset[proto]);
434 free((char *) protoset);