MCPcopy Create free account
hub / github.com/acl-dev/acl / ring_iter

Function ring_iter

lib_acl/samples/iterator/main.c:267–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

265} DUMMY;
266
267static void ring_iter(void)
268{
269 ACL_RING head;
270 DUMMY *dummy;
271 ACL_RING_ITER iter;
272 int i;
273
274 acl_ring_init(&head);
275
276 for (i = 0; i < 10; i++) {
277 dummy = (DUMMY*) acl_mycalloc(1, sizeof(DUMMY));
278 snprintf(dummy->name, sizeof(dummy->name), "dummy:%d", i);
279 acl_ring_append(&head, &dummy->entry);
280 }
281
282 printf("\nring_iter:\n");
283 acl_ring_foreach(iter, &head) {
284 dummy = acl_ring_to_appl(iter.ptr, DUMMY, entry);
285 printf("name: %s\n", dummy->name);
286 }
287
288 while (1) {
289 iter.ptr = acl_ring_pop_head(&head);
290 if (iter.ptr == NULL)
291 break;
292 dummy = acl_ring_to_appl(iter.ptr, DUMMY, entry);
293 acl_myfree(dummy);
294 }
295}
296
297static void argv_iter(int use_slice)
298{

Callers 1

mainFunction · 0.85

Calls 3

acl_ring_initFunction · 0.85
acl_ring_appendFunction · 0.85
acl_ring_pop_headFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…