LCOV - code coverage report
Current view: top level - examples - ksLookupPop.c (source / functions) Hit Total Coverage
Test: coverage-filtered.info Lines: 0 14 0.0 %
Date: 2019-09-12 12:28:41 Functions: 0 2 0.0 %

          Line data    Source code
       1             : /**
       2             :  * @file
       3             :  *
       4             :  * @brief
       5             :  *
       6             :  * @copyright BSD License (see LICENSE.md or https://www.libelektra.org)
       7             :  */
       8             : 
       9             : #include <kdb.h>
      10             : 
      11             : //! [f]
      12           0 : void f (KeySet * iterator, KeySet * lookup)
      13             : {
      14           0 :         KeySet * append = ksNew (ksGetSize (lookup), KS_END);
      15             :         Key * current;
      16             : 
      17           0 :         ksRewind (iterator);
      18           0 :         while ((current = ksNext (iterator)))
      19             :         {
      20           0 :                 Key * key = ksLookup (lookup, current, KDB_O_POP);
      21             :                 // do something...
      22           0 :                 ksAppendKey (append, key); // now append it to append, not lookup!
      23           0 :                 keyDel (key);              // make sure to ALWAYS delete poped keys.
      24             :         }
      25           0 :         ksAppend (lookup, append);
      26             :         // now lookup needs to be sorted only once, append never
      27           0 :         ksDel (append);
      28           0 : }
      29             : //! [f]
      30             : 
      31           0 : int main (void)
      32             : {
      33           0 :         KeySet * ks1 = ksNew (20, KS_END);
      34           0 :         KeySet * ks2 = ksNew (20, KS_END);
      35           0 :         f (ks1, ks2);
      36             : }

Generated by: LCOV version 1.13