LCOV - code coverage report
Current view: top level - examples - namespace.c (source / functions) Hit Total Coverage
Test: coverage-filtered.info Lines: 0 32 0.0 %
Date: 2019-09-12 12:28:41 Functions: 0 3 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 <kdbproposal.h>
      10             : 
      11             : #include <stdio.h>
      12             : #include <stdlib.h>
      13             : 
      14           0 : void printNamespace (Key const * k)
      15             : {
      16             :         // clang-format off
      17             : //! [namespace]
      18           0 : switch (keyGetNamespace (k))
      19             : {
      20             : case KEY_NS_SPEC:
      21           0 :         printf ("spec namespace\n");
      22           0 :         break;
      23             : case KEY_NS_PROC:
      24           0 :         printf ("proc namespace\n");
      25           0 :         break;
      26             : case KEY_NS_DIR:
      27           0 :         printf ("dir namespace\n");
      28           0 :         break;
      29             : case KEY_NS_USER:
      30           0 :         printf ("user namespace\n");
      31           0 :         break;
      32             : case KEY_NS_SYSTEM:
      33           0 :         printf ("system namespace\n");
      34           0 :         break;
      35             : case KEY_NS_EMPTY:
      36           0 :         printf ("empty name\n");
      37           0 :         break;
      38             : case KEY_NS_NONE:
      39           0 :         printf ("no key\n");
      40           0 :         break;
      41             : case KEY_NS_META:
      42           0 :         printf ("metakey\n");
      43           0 :         break;
      44             : case KEY_NS_CASCADING:
      45           0 :         printf ("cascading key\n");
      46           0 :         break;
      47             : }
      48             : //! [namespace]
      49           0 : }
      50             : 
      51           0 : void loop (void)
      52             : {
      53             : //! [loop]
      54           0 : for (elektraNamespace ns = KEY_NS_FIRST; ns <= KEY_NS_LAST; ++ns)
      55             : {
      56             :         // work with namespace
      57           0 :         printf ("%d\n", ns);
      58             : }
      59             : //! [loop]
      60           0 : }
      61             : 
      62           0 : int main (void)
      63             : {
      64             :         char s[100];
      65           0 :         if (!fgets (s, 100, stdin)) {
      66           0 :                 fprintf(stderr, "Unable to read from standard input");
      67           0 :                 return EXIT_FAILURE;
      68             :         }
      69             : 
      70           0 :         Key * k = keyNew (s, KEY_CASCADING_NAME, KEY_META_NAME, KEY_END);
      71           0 :         printNamespace (k);
      72           0 :         keyDel (k);
      73             : }

Generated by: LCOV version 1.13