All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas_api_fuzzer.cc:45,1
    - Dst: memcpy
      Src: /src/augeas_api_fuzzer.cc:49,1
    - Dst: aug_init
      Src: /src/augeas_api_fuzzer.cc:52,1
    - Dst: aug_defvar
      Src: /src/augeas_api_fuzzer.cc:53,1
    - Dst: aug_get
      Src: /src/augeas_api_fuzzer.cc:54,1
    - Dst: aug_label
      Src: /src/augeas_api_fuzzer.cc:55,1
    - Dst: aug_rename
      Src: /src/augeas_api_fuzzer.cc:57,1
    - Dst: aug_text_store
      Src: /src/augeas_api_fuzzer.cc:58,1
    - Dst: aug_print
      Src: /src/augeas_api_fuzzer.cc:59,1
    - Dst: aug_setm
      Src: /src/augeas_api_fuzzer.cc:60,1
    - Dst: free
      Src: /src/augeas_api_fuzzer.cc:62,1
    - Dst: aug_close
      Src: /src/augeas_api_fuzzer.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/augeas_api_fuzzer.cc
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - malloc
    - aug_rename
    - aug_setm
    - aug_init
    - aug_label
    - aug_text_store
    - aug_print
    - aug_defvar
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas_fa_fuzzer.cc:41,1
    - Dst: memcpy
      Src: /src/augeas_fa_fuzzer.cc:45,1
    - Dst: fa_expand_nocase
      Src: /src/augeas_fa_fuzzer.cc:52,1
    - Dst: fa_compile
      Src: /src/augeas_fa_fuzzer.cc:55,1
    - Dst: fa_compile
      Src: /src/augeas_fa_fuzzer.cc:58,1
    - Dst: fa_minus
      Src: /src/augeas_fa_fuzzer.cc:60,1
    - Dst: fa_example
      Src: /src/augeas_fa_fuzzer.cc:66,1
    - Dst: free
      Src: /src/augeas_fa_fuzzer.cc:69,1
    - Dst: fa_json
      Src: /src/augeas_fa_fuzzer.cc:71,1
    - Dst: fa_minimize
      Src: /src/augeas_fa_fuzzer.cc:72,1
    - Dst: fa_dot
      Src: /src/augeas_fa_fuzzer.cc:73,1
    - Dst: fa_make_basic
      Src: /src/augeas_fa_fuzzer.cc:76,1
    - Dst: free
      Src: /src/augeas_fa_fuzzer.cc:79,1
    - Dst: free
      Src: /src/augeas_fa_fuzzer.cc:80,1
    - Dst: fa_free
      Src: /src/augeas_fa_fuzzer.cc:81,1
    - Dst: fa_free
      Src: /src/augeas_fa_fuzzer.cc:82,1
    - Dst: fa_free
      Src: /src/augeas_fa_fuzzer.cc:83,1
    - Dst: fa_free
      Src: /src/augeas_fa_fuzzer.cc:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 86
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/augeas_fa_fuzzer.cc
    functionUses: 0
    functionsReached:
    - fa_compile
    - fa_json
    - fa_minimize
    - fa_dot
    - fa_example
    - fa_make_basic
    - fa_free
    - fa_minus
    - fa_expand_nocase
    - malloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas_escape_name_fuzzer.cc:24,1
    - Dst: aug_escape_name
      Src: /src/augeas_escape_name_fuzzer.cc:27,1
    - Dst: std::string::c_str
      Src: /src/augeas_escape_name_fuzzer.cc:27,1
    - Dst: aug_match
      Src: /src/augeas_escape_name_fuzzer.cc:29,1
    - Dst: aug_match
      Src: /src/augeas_escape_name_fuzzer.cc:32,1
    - Dst: std::string::c_str
      Src: /src/augeas_escape_name_fuzzer.cc:32,1
    - Dst: aug_close
      Src: /src/augeas_escape_name_fuzzer.cc:34,1
    - Dst: free
      Src: /src/augeas_escape_name_fuzzer.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: escape_match
    functionSourceFile: /src/augeas_escape_name_fuzzer.cc
    functionUses: 0
    functionsReached:
    - aug_close
    - aug_match
    - free
    - aug_init
    - aug_escape_name
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int escape_match(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escape_match
      Src: /src/augeas_escape_name_fuzzer.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/augeas_escape_name_fuzzer.cc
    functionUses: 0
    functionsReached:
    - escape_match
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - strp
    - ','
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: asprintf_or_die
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: asprintf_or_die(strp, fmt, args ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/cutest.c:52,1
    - Dst: exit
      Src: /src/augeas/tests/cutest.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: die_oom
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void die_oom(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/tests/cutest.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - t
    - name
    - function
    argTypes:
    - CuTest*
    - char*
    - TestFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: CuTestInit
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: void
    signature: void CuTestInit(CuTest* t, const char* name, TestFunction function)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/tests/cutest.c:71,1
    - Dst: die_oom
      Src: /src/augeas/tests/cutest.c:72,1
    - Dst: CuTestInit
      Src: /src/augeas/tests/cutest.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - function
    argTypes:
    - char*
    - TestFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: CuTestNew
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuTestInit
    - die_oom
    - ALLOC
    linkageType: ''
    returnType: CuTest
    signature: CuTest * CuTestNew(const char* name, TestFunction function)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/tests/cutest.c:80,1
    - Dst: STRNEQ
      Src: /src/augeas/tests/cutest.c:80,1
    - Dst: getenv
      Src: /src/augeas/tests/cutest.c:80,1
    - Dst: setjmp
      Src: /src/augeas/tests/cutest.c:83,1
    - Dst: setjmp
      Src: /src/augeas/tests/cutest.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - tc
    - setup
    - teardown
    argTypes:
    - CuTest*
    - TestFunction
    - TestFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: CuTestRun
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - getenv
    - STRNEQ
    - setjmp
    linkageType: ''
    returnType: void
    signature: void CuTestRun(CuTest* tc, TestFunction setup, TestFunction teardown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:99,1
    - Dst: longjmp
      Src: /src/augeas/tests/cutest.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tc
    - file
    - line
    - string
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: CuFailInternal
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - asprintf_or_die
    - longjmp
    linkageType: ''
    returnType: void
    signature: "void CuFailInternal(CuTest* tc, const char* file, int line,\n                           const
      char *string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:111,1
    - Dst: strdup
      Src: /src/augeas/tests/cutest.c:113,1
    - Dst: CuFailInternal
      Src: /src/augeas/tests/cutest.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - tc
    - file
    - line
    - message2
    - message
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: CuFail_Line
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - asprintf_or_die
    - CuFailInternal
    - strdup
    linkageType: ''
    returnType: void
    signature: "void CuFail_Line(CuTest* tc, const char* file, int line,\n                 const
      char* message2, const char* message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CuFail_Line
      Src: /src/augeas/tests/cutest.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - tc
    - file
    - line
    - message
    - condition
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: CuAssert_Line
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuFail_Line
    linkageType: ''
    returnType: void
    signature: "void CuAssert_Line(CuTest* tc, const char* file, int line,\n                   const
      char* message, int condition)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/augeas/tests/cutest.c:131,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:137,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:140,1
    - Dst: CuFailInternal
      Src: /src/augeas/tests/cutest.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - tc
    - file
    - line
    - message
    - expected
    - actual
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: CuAssertStrEquals_LineMsg
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - asprintf_or_die
    - CuFailInternal
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void CuAssertStrEquals_LineMsg(CuTest* tc, const char* file, int line,\n
      \                              const char* message,\n                               const
      char* expected, const char* actual)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/augeas/tests/cutest.c:150,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:154,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:157,1
    - Dst: CuFailInternal
      Src: /src/augeas/tests/cutest.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - tc
    - file
    - line
    - message
    - expected
    - actual
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: CuAssertStrNotEqual_LineMsg
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - asprintf_or_die
    - CuFailInternal
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void CuAssertStrNotEqual_LineMsg(CuTest* tc, const char* file, int
      line,\n                                 const char* message,\n                                 const
      char* expected, const char* actual)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/augeas/tests/cutest.c:167,1
    - Dst: CuFail_Line
      Src: /src/augeas/tests/cutest.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - tc
    - file
    - line
    - message
    - expected
    - actual
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: CuAssertIntEquals_LineMsg
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuFail_Line
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void CuAssertIntEquals_LineMsg(CuTest* tc, const char* file, int line,\n
      \                              const char* message,\n                               int
      expected, int actual)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/augeas/tests/cutest.c:175,1
    - Dst: sprintf
      Src: /src/augeas/tests/cutest.c:176,1
    - Dst: CuFail_Line
      Src: /src/augeas/tests/cutest.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - tc
    - file
    - line
    - message
    - expected
    - actual
    - delta
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: CuAssertDblEquals_LineMsg
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - fabs
    - CuFail_Line
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void CuAssertDblEquals_LineMsg(CuTest* tc, const char* file, int line,\n
      \                              const char* message,\n                               double
      expected, double actual, double delta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/augeas/tests/cutest.c:185,1
    - Dst: CuFail_Line
      Src: /src/augeas/tests/cutest.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - tc
    - file
    - line
    - message
    - expected
    - actual
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: CuAssertPtrEquals_LineMsg
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuFail_Line
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void CuAssertPtrEquals_LineMsg(CuTest* tc, const char* file, int line,\n
      \                              const char* message,\n                               const
      void* expected, const void* actual)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/augeas/tests/cutest.c:194,1
    - Dst: CuFail_Line
      Src: /src/augeas/tests/cutest.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - tc
    - file
    - line
    - message
    - expected
    - actual
    argTypes:
    - CuTest*
    - char*
    - int
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: CuAssertPtrNotEqual_LineMsg
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuFail_Line
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void CuAssertPtrNotEqual_LineMsg(CuTest* tc, const char* file, int
      line,\n                                 const char* message,\n                                 const
      void* expected, const void* actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testSuite
    argTypes:
    - CuSuite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: CuSuiteInit
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CuSuiteInit(CuSuite* testSuite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/tests/cutest.c:211,1
    - Dst: die_oom
      Src: /src/augeas/tests/cutest.c:212,1
    - Dst: CuSuiteInit
      Src: /src/augeas/tests/cutest.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: CuSuiteNew
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuSuiteInit
    - die_oom
    - ALLOC
    linkageType: ''
    returnType: CuSuite
    signature: CuSuite * CuSuiteNew(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - testSuite
    - setup
    - teardown
    argTypes:
    - CuSuite*
    - TestFunction
    - TestFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: CuSuiteSetup
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CuSuiteSetup(CuSuite *testSuite,\n                  TestFunction
      setup, TestFunction teardown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/tests/cutest.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - testSuite
    - testCase
    argTypes:
    - CuSuite*
    - CuTest*
    assertStmts:
    - condition: (testSuite->count < MAX_TEST_CASES)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/augeas/tests/cutest.c
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: CuSuiteAdd
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CuSuiteAdd(CuSuite* testSuite, CuTest *testCase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CuSuiteAdd
      Src: /src/augeas/tests/cutest.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - testSuite
    - testSuite2
    argTypes:
    - CuSuite*
    - CuSuite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: CuSuiteAddSuite
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuSuiteAdd
    linkageType: ''
    returnType: void
    signature: void CuSuiteAddSuite(CuSuite* testSuite, CuSuite* testSuite2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CuTestRun
      Src: /src/augeas/tests/cutest.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testSuite
    argTypes:
    - CuSuite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: CuSuiteRun
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - CuTestRun
    linkageType: ''
    returnType: void
    signature: void CuSuiteRun(CuSuite* testSuite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/tests/cutest.c:250,1
    - Dst: strlen
      Src: /src/augeas/tests/cutest.c:252,1
    - Dst: strlen
      Src: /src/augeas/tests/cutest.c:252,1
    - Dst: realloc
      Src: /src/augeas/tests/cutest.c:253,1
    - Dst: die_oom
      Src: /src/augeas/tests/cutest.c:255,1
    - Dst: strcat
      Src: /src/augeas/tests/cutest.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: string_append
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - realloc
    - strcat
    - die_oom
    - strlen
    - strdup
    linkageType: ''
    returnType: void
    signature: void string_append(char **s, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:266,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - testSuite
    - summary
    argTypes:
    - CuSuite*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: CuSuiteSummary
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - string_append
    linkageType: ''
    returnType: void
    signature: void CuSuiteSummary(CuSuite* testSuite, char **summary)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:280,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:281,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:282,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:285,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:287,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:289,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:290,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:296,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:298,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:299,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:302,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:304,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:305,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:306,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:308,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:310,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:311,1
    - Dst: asprintf_or_die
      Src: /src/augeas/tests/cutest.c:313,1
    - Dst: string_append
      Src: /src/augeas/tests/cutest.c:314,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - testSuite
    - details
    argTypes:
    - CuSuite*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 317
    functionName: CuSuiteDetails
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - string_append
    - asprintf_or_die
    - free
    linkageType: ''
    returnType: void
    signature: void CuSuiteDetails(CuSuite* testSuite, char **details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/tests/cutest.c:322,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:323,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:324,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - suite
    argTypes:
    - CuSuite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: CuSuiteFree
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CuSuiteFree(CuSuite *suite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/tests/cutest.c:336,1
    - Dst: vasprintf
      Src: /src/augeas/tests/cutest.c:337,1
    - Dst: va_end
      Src: /src/augeas/tests/cutest.c:338,1
    - Dst: CuFail
      Src: /src/augeas/tests/cutest.c:340,1
    - Dst: system
      Src: /src/augeas/tests/cutest.c:341,1
    - Dst: WIFEXITED
      Src: /src/augeas/tests/cutest.c:342,1
    - Dst: WEXITSTATUS
      Src: /src/augeas/tests/cutest.c:342,1
    - Dst: asprintf
      Src: /src/augeas/tests/cutest.c:344,1
    - Dst: WEXITSTATUS
      Src: /src/augeas/tests/cutest.c:345,1
    - Dst: CuFail
      Src: /src/augeas/tests/cutest.c:346,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:347,1
    - Dst: free
      Src: /src/augeas/tests/cutest.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tc
    - format
    argTypes:
    - CuTest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: run
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - va_end
    - WIFEXITED
    - va_start
    - free
    - WEXITSTATUS
    - system
    - CuFail
    - asprintf
    - vasprintf
    linkageType: ''
    returnType: void
    signature: void run(CuTest *tc, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/tests/cutest.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - name
    - argc
    - argv
    argTypes:
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: should_run
    functionSourceFile: /src/augeas/tests/cutest.c
    functionUses: 0
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: int
    signature: int should_run(const char *name, int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_tests
      Src: /src/augeas/tests/test-run.c:69,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:70,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:71,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:72,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:73,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: free_tests
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 1
    functionsReached:
    - free_tests
    - free
    linkageType: ''
    returnType: void
    signature: void free_tests(struct test *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: die
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/augeas/tests/test-run.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: skipws
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *skipws(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/augeas/tests/test-run.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: findws
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *findws(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/tests/test-run.c:94,1
    - Dst: findws
      Src: /src/augeas/tests/test-run.c:95,1
    - Dst: strndup
      Src: /src/augeas/tests/test-run.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - tok
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: token
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - skipws
    - findws
    - strndup
    linkageType: ''
    returnType: char
    signature: char *token(char *s, char **tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/tests/test-run.c:101,1
    - Dst: findws
      Src: /src/augeas/tests/test-run.c:102,1
    - Dst: strtol
      Src: /src/augeas/tests/test-run.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - tok
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: inttok
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - skipws
    - findws
    - strtol
    linkageType: ''
    returnType: char
    signature: char *inttok(char *s, int *tok)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/tests/test-run.c:108,1
    - Dst: findws
      Src: /src/augeas/tests/test-run.c:109,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/tests/test-run.c:114,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:116,1
    - Dst: STREQLEN
      Src: /src/augeas/tests/test-run.c:116,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-run.c:119,1
    - Dst: die
      Src: /src/augeas/tests/test-run.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - err
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: errtok
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - STREQLEN
    - fprintf
    - skipws
    - ARRAY_CARDINALITY
    - findws
    - strlen
    - die
    linkageType: ''
    returnType: char
    signature: char *errtok(char *s, int *err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREQLEN
      Src: /src/augeas/tests/test-run.c:124,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - kw
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: looking_at
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - strlen
    - STREQLEN
    linkageType: ''
    returnType: bool
    signature: bool looking_at(const char *s, const char *kw)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-run.c:135,1
    - Dst: die
      Src: /src/augeas/tests/test-run.c:136,1
    - Dst: fopen
      Src: /src/augeas/tests/test-run.c:138,1
    - Dst: die
      Src: /src/augeas/tests/test-run.c:139,1
    - Dst: fgets
      Src: /src/augeas/tests/test-run.c:141,1
    - Dst: skipws
      Src: /src/augeas/tests/test-run.c:143,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:148,1
    - Dst: looking_at
      Src: /src/augeas/tests/test-run.c:154,1
    - Dst: ALLOC
      Src: /src/augeas/tests/test-run.c:155,1
    - Dst: die_oom
      Src: /src/augeas/tests/test-run.c:156,1
    - Dst: list_append
      Src: /src/augeas/tests/test-run.c:157,1
    - Dst: token
      Src: /src/augeas/tests/test-run.c:159,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:159,1
    - Dst: inttok
      Src: /src/augeas/tests/test-run.c:160,1
    - Dst: errtok
      Src: /src/augeas/tests/test-run.c:161,1
    - Dst: looking_at
      Src: /src/augeas/tests/test-run.c:162,1
    - Dst: skipws
      Src: /src/augeas/tests/test-run.c:163,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:163,1
    - Dst: looking_at
      Src: /src/augeas/tests/test-run.c:164,1
    - Dst: looking_at
      Src: /src/augeas/tests/test-run.c:166,1
    - Dst: die
      Src: /src/augeas/tests/test-run.c:168,1
    - Dst: token
      Src: /src/augeas/tests/test-run.c:169,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:169,1
    - Dst: strdup
      Src: /src/augeas/tests/test-run.c:173,1
    - Dst: die_oom
      Src: /src/augeas/tests/test-run.c:175,1
    - Dst: REALLOC_N
      Src: /src/augeas/tests/test-run.c:177,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:177,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:177,1
    - Dst: die_oom
      Src: /src/augeas/tests/test-run.c:178,1
    - Dst: strcat
      Src: /src/augeas/tests/test-run.c:179,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:185,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 187
    functionName: read_tests
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - looking_at
    - strcat
    - list_append
    - skipws
    - fopen
    - die_oom
    - free
    - asprintf
    - fgets
    - strlen
    - token
    - errtok
    - die
    - strdup
    - REALLOC_N
    - inttok
    - ALLOC
    linkageType: ''
    returnType: struct test
    signature: struct test *read_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - cond
    - ','
    - msg
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: fail
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(cond, msg ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-run.c:204,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:205,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:207,1
    - Dst: tolower
      Src: /src/augeas/tests/test-run.c:208,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-run.c:210,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:211,1
    - Dst: __aug_load_module_file
      Src: /src/augeas/tests/test-run.c:213,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:214,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:217,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - aug
    - test
    argTypes:
    - struct augeas*
    - struct test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: load_module
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - __aug_load_module_file
    - fail
    - strlen
    - asprintf
    - tolower
    - free
    linkageType: ''
    returnType: int
    signature: int load_module(struct augeas *aug, struct test *test)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/tests/test-run.c:228,1
    - Dst: aug_init
      Src: /src/augeas/tests/test-run.c:230,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:232,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:233,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-run.c:233,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-run.c:234,1
    - Dst: printf
      Src: /src/augeas/tests/test-run.c:236,1
    - Dst: load_module
      Src: /src/augeas/tests/test-run.c:238,1
    - Dst: init_memstream
      Src: /src/augeas/tests/test-run.c:242,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:243,1
    - Dst: aug_srun
      Src: /src/augeas/tests/test-run.c:245,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:246,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:248,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-run.c:248,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-run.c:249,1
    - Dst: close_memstream
      Src: /src/augeas/tests/test-run.c:251,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:252,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:253,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:256,1
    - Dst: STRNEQ
      Src: /src/augeas/tests/test-run.c:256,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:259,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:259,1
    - Dst: fail
      Src: /src/augeas/tests/test-run.c:262,1
    - Dst: strlen
      Src: /src/augeas/tests/test-run.c:262,1
    - Dst: printf
      Src: /src/augeas/tests/test-run.c:265,1
    - Dst: free
      Src: /src/augeas/tests/test-run.c:268,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-run.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 274
    functionName: run_one_test
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - aug_close
    - MEMZERO
    - fail
    - free
    - aug_init
    - STRNEQ
    - printf
    - load_module
    - aug_srun
    - close_memstream
    - aug_error
    - strlen
    - init_memstream
    linkageType: ''
    returnType: int
    signature: int run_one_test(struct test *test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: should_run
      Src: /src/augeas/tests/test-run.c:280,1
    - Dst: run_one_test
      Src: /src/augeas/tests/test-run.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - tests
    - argc
    - argv
    argTypes:
    - struct test*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: run_tests
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - run_one_test
    - should_run
    linkageType: ''
    returnType: int
    signature: int run_tests(struct test *tests, int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: should_run
      Src: /src/augeas/tests/test-run.c:280,1
    - Dst: run_one_test
      Src: /src/augeas/tests/test-run.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: list_for_each
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - run_one_test
    - should_run
    linkageType: ''
    returnType: void
    signature: void list_for_each(t, tests)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/tests/test-run.c:291,1
    - Dst: die
      Src: /src/augeas/tests/test-run.c:293,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-run.c:295,1
    - Dst: die
      Src: /src/augeas/tests/test-run.c:296,1
    - Dst: read_tests
      Src: /src/augeas/tests/test-run.c:298,1
    - Dst: run_tests
      Src: /src/augeas/tests/test-run.c:299,1
    - Dst: free_tests
      Src: /src/augeas/tests/test-run.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: main
    functionSourceFile: /src/augeas/tests/test-run.c
    functionUses: 0
    functionsReached:
    - free_tests
    - run_tests
    - asprintf
    - read_tests
    - getenv
    - die
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: die
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die(msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-save.c:48,1
    - Dst: CuFail
      Src: /src/augeas/tests/test-save.c:50,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-save.c:53,1
    - Dst: CuFail
      Src: /src/augeas/tests/test-save.c:54,1
    - Dst: umask
      Src: /src/augeas/tests/test-save.c:56,1
    - Dst: run
      Src: /src/augeas/tests/test-save.c:57,1
    - Dst: run
      Src: /src/augeas/tests/test-save.c:58,1
    - Dst: run
      Src: /src/augeas/tests/test-save.c:59,1
    - Dst: run
      Src: /src/augeas/tests/test-save.c:60,1
    - Dst: run
      Src: /src/augeas/tests/test-save.c:61,1
    - Dst: aug_init
      Src: /src/augeas/tests/test-save.c:63,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:64,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-save.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: setup
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - run
    - CuAssertPtrNotNull
    - aug_init
    - CuFail
    - asprintf
    - umask
    - free
    linkageType: ''
    returnType: void
    signature: void setup(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/augeas/tests/test-save.c:72,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-save.c:74,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tc
    argTypes:
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: teardown
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - run
    - aug_close
    - free
    linkageType: ''
    returnType: void
    signature: void teardown(ATTRIBUTE_UNUSED CuTest *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/augeas/tests/test-save.c:81,1
    - Dst: puts
      Src: /src/augeas/tests/test-save.c:82,1
    - Dst: run
      Src: /src/augeas/tests/test-save.c:90,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:92,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/test-save.c:93,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:95,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:96,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-save.c:98,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:99,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-save.c:100,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-save.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: testRemoveNoPermission
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - puts
    - aug_get
    - CuAssertIntEquals
    - run
    - getuid
    - aug_save
    - CuAssertStrEquals
    - aug_rm
    - CuAssertPtrNotNull
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testRemoveNoPermission(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:107,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:108,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:110,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:112,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:114,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:115,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:117,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: testSaveNewFile
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - aug_match
    - aug_set
    - aug_save
    - CuAssertIntEquals
    linkageType: ''
    returnType: void
    signature: void testSaveNewFile(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:124,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/test-save.c:125,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:127,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:128,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:129,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:130,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:131,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:132,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:134,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:135,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-save.c:136,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: testNonExistentLens
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - aug_set
    - aug_save
    - aug_error
    - aug_rm
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testNonExistentLens(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:143,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:144,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:145,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:146,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:148,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:149,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:152,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:153,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:156,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:157,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:159,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:160,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:162,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:163,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-save.c:165,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 167
    functionName: testMultipleXfm
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - aug_error
    - aug_set
    - aug_save
    - CuAssertIntEquals
    linkageType: ''
    returnType: void
    signature: void testMultipleXfm(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:174,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:175,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-save.c:177,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:178,1
    - Dst: strdup
      Src: /src/augeas/tests/test-save.c:179,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-save.c:180,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:183,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:184,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-save.c:186,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:187,1
    - Dst: CuAssertStrNotEqual
      Src: /src/augeas/tests/test-save.c:189,1
    - Dst: CuAssertStrNotEqual
      Src: /src/augeas/tests/test-save.c:190,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: testMtime
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - aug_get
    - CuAssertIntEquals
    - aug_set
    - free
    - CuAssertStrNotEqual
    - aug_save
    - strdup
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testMtime(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:200,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:201,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:203,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:204,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:205,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:206,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-save.c:207,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:208,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:210,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:211,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:213,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:214,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:216,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:217,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:218,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:219,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:222,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:223,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-save.c:225,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:226,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:228,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 230
    functionName: testRelPath
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - aug_save
    - aug_rm
    linkageType: ''
    returnType: void
    signature: void testRelPath(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:238,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:239,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:241,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:242,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:243,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:244,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-save.c:245,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:246,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:248,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:249,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:251,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:252,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:254,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:255,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:256,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:257,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:260,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:261,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-save.c:263,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:264,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:266,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 268
    functionName: testDoubleSlashPath
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - aug_save
    - aug_rm
    linkageType: ''
    returnType: void
    signature: void testDoubleSlashPath(CuTest *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-save.c:277,1
    - Dst: CuFail
      Src: /src/augeas/tests/test-save.c:278,1
    - Dst: umask
      Src: /src/augeas/tests/test-save.c:281,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:283,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:284,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:286,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:287,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:288,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:289,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-save.c:290,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:291,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:292,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:293,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:295,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:296,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:297,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:298,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:300,1
    - Dst: stat
      Src: /src/augeas/tests/test-save.c:300,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:301,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - tc
    - tumask
    - expected_mode
    argTypes:
    - CuTest*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 303
    functionName: testUmask
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - aug_save
    - CuFail
    - umask
    - asprintf
    - stat
    - aug_rm
    - free
    linkageType: ''
    returnType: void
    signature: void testUmask(CuTest *tc, int tumask, mode_t expected_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testUmask
      Src: /src/augeas/tests/test-save.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: testUmask077
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - testUmask
    linkageType: ''
    returnType: void
    signature: void testUmask077(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testUmask
      Src: /src/augeas/tests/test-save.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: testUmask027
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - testUmask
    linkageType: ''
    returnType: void
    signature: void testUmask027(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testUmask
      Src: /src/augeas/tests/test-save.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: testUmask022
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - testUmask
    linkageType: ''
    returnType: void
    signature: void testUmask022(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-save.c:335,1
    - Dst: strlen
      Src: /src/augeas/tests/test-save.c:335,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:336,1
    - Dst: access
      Src: /src/augeas/tests/test-save.c:338,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:339,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-save.c:342,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:343,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-save.c:346,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:347,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-save.c:349,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:350,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-save.c:351,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-save.c:355,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:356,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:358,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:359,1
    - Dst: access
      Src: /src/augeas/tests/test-save.c:361,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:362,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:363,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:365,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 367
    functionName: testPathEscaping
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - access
    - aug_get
    - CuAssertIntEquals
    - aug_match
    - CuAssertRetSuccess
    - aug_save
    - strlen
    - asprintf
    - CuAssertStrEquals
    - aug_rm
    - free
    linkageType: ''
    returnType: void
    signature: void testPathEscaping(CuTest *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/augeas/tests/test-save.c:376,1
    - Dst: puts
      Src: /src/augeas/tests/test-save.c:377,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-save.c:385,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-save.c:386,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-save.c:388,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:389,1
    - Dst: chmod
      Src: /src/augeas/tests/test-save.c:391,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-save.c:392,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-save.c:394,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:395,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-save.c:397,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-save.c:398,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-save.c:399,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: testSaveNoPermission
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - puts
    - CuAssertPositive
    - aug_get
    - CuAssertIntEquals
    - chmod
    - aug_set
    - CuAssertRetSuccess
    - aug_save
    - asprintf
    - CuAssertStrEquals
    - getuid
    - free
    linkageType: ''
    returnType: void
    signature: void testSaveNoPermission(CuTest *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CuSuiteNew
      Src: /src/augeas/tests/test-save.c:405,1
    - Dst: getenv
      Src: /src/augeas/tests/test-save.c:407,1
    - Dst: die
      Src: /src/augeas/tests/test-save.c:409,1
    - Dst: getenv
      Src: /src/augeas/tests/test-save.c:411,1
    - Dst: die
      Src: /src/augeas/tests/test-save.c:413,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-save.c:415,1
    - Dst: die
      Src: /src/augeas/tests/test-save.c:416,1
    - Dst: CuSuiteSetup
      Src: /src/augeas/tests/test-save.c:419,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:421,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:422,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:423,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:424,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:425,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:426,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:427,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:428,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:429,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:430,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:431,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-save.c:432,1
    - Dst: CuSuiteRun
      Src: /src/augeas/tests/test-save.c:434,1
    - Dst: CuSuiteSummary
      Src: /src/augeas/tests/test-save.c:435,1
    - Dst: CuSuiteDetails
      Src: /src/augeas/tests/test-save.c:436,1
    - Dst: printf
      Src: /src/augeas/tests/test-save.c:437,1
    - Dst: free
      Src: /src/augeas/tests/test-save.c:438,1
    - Dst: CuSuiteFree
      Src: /src/augeas/tests/test-save.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 442
    functionName: main
    functionSourceFile: /src/augeas/tests/test-save.c
    functionUses: 0
    functionsReached:
    - CuSuiteSetup
    - CuSuiteFree
    - CuSuiteDetails
    - CuSuiteNew
    - asprintf
    - CuSuiteRun
    - CuSuiteSummary
    - printf
    - getenv
    - die
    - SUITE_ADD_TEST
    - free
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regerror
      Src: /src/augeas/tests/fatest.c:45,1
    - Dst: ALLOC_N
      Src: /src/augeas/tests/fatest.c:46,1
    - Dst: die_oom
      Src: /src/augeas/tests/fatest.c:47,1
    - Dst: regerror
      Src: /src/augeas/tests/fatest.c:48,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:49,1
    - Dst: strndup
      Src: /src/augeas/tests/fatest.c:50,1
    - Dst: fprintf
      Src: /src/augeas/tests/fatest.c:51,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:52,1
    - Dst: fprintf
      Src: /src/augeas/tests/fatest.c:54,1
    - Dst: fprintf
      Src: /src/augeas/tests/fatest.c:56,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - err
    - regexp
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: print_regerror
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - strndup
    - fprintf
    - die_oom
    - regerror
    - strlen
    - free
    linkageType: ''
    returnType: void
    signature: void print_regerror(int err, const char *regexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: setup
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setup(ATTRIBUTE_UNUSED CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:66,1
    - Dst: list_free
      Src: /src/augeas/tests/fatest.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tc
    argTypes:
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: teardown
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - list_free
    - fa_free
    linkageType: ''
    returnType: void
    signature: void teardown(ATTRIBUTE_UNUSED CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: list_for_each
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_free
    linkageType: ''
    returnType: void
    signature: void list_for_each(fl, fa_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/tests/fatest.c:75,1
    - Dst: die_oom
      Src: /src/augeas/tests/fatest.c:76,1
    - Dst: list_cons
      Src: /src/augeas/tests/fatest.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: mark
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - list_cons
    - die_oom
    - ALLOC
    linkageType: ''
    returnType: struct fa
    signature: struct fa *mark(struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:87,1
    - Dst: fa_make_basic
      Src: /src/augeas/tests/fatest.c:87,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:91,1
    - Dst: fa_concat
      Src: /src/augeas/tests/fatest.c:91,1
    - Dst: fa_minimize
      Src: /src/augeas/tests/fatest.c:94,1
    - Dst: die_oom
      Src: /src/augeas/tests/fatest.c:96,1
    - Dst: fa_as_regexp
      Src: /src/augeas/tests/fatest.c:98,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:99,1
    - Dst: fa_compile
      Src: /src/augeas/tests/fatest.c:101,1
    - Dst: print_regerror
      Src: /src/augeas/tests/fatest.c:103,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:105,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:106,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:106,1
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:108,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - tc
    - fa
    argTypes:
    - CuTest*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: assertAsRegexp
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_concat
    - CuAssertIntEquals
    - fa_compile
    - fa_minimize
    - fa_as_regexp
    - die_oom
    - mark
    - fa_make_basic
    - fa_free
    - fa_equals
    - print_regerror
    - free
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void assertAsRegexp(CuTest *tc, struct fa *fa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fa_compile
      Src: /src/augeas/tests/fatest.c:118,1
    - Dst: die_oom
      Src: /src/augeas/tests/fatest.c:120,1
    - Dst: print_regerror
      Src: /src/augeas/tests/fatest.c:123,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:124,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:125,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:126,1
    - Dst: assertAsRegexp
      Src: /src/augeas/tests/fatest.c:127,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:129,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/fatest.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - tc
    - regexp
    - reglen
    - exp_err
    argTypes:
    - CuTest*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: make_fa
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_compile
    - CuAssertIntEquals
    - CuAssertPtrEquals
    - die_oom
    - mark
    - print_regerror
    - CuAssertPtrNotNull
    - assertAsRegexp
    linkageType: ''
    returnType: struct fa
    signature: "struct fa *make_fa(CuTest *tc,\n                          const char
      *regexp, size_t reglen,\n                          int exp_err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_fa
      Src: /src/augeas/tests/fatest.c:136,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tc
    - regexp
    argTypes:
    - CuTest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: make_good_fa
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - strlen
    - make_fa
    linkageType: ''
    returnType: struct fa
    signature: struct fa *make_good_fa(CuTest *tc, const char *regexp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/tests/fatest.c:146,1
    - Dst: asprintf
      Src: /src/augeas/tests/fatest.c:149,1
    - Dst: fopen
      Src: /src/augeas/tests/fatest.c:153,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:154,1
    - Dst: fa_dot
      Src: /src/augeas/tests/fatest.c:158,1
    - Dst: fclose
      Src: /src/augeas/tests/fatest.c:159,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: dot
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 2
    functionsReached:
    - fa_dot
    - fopen
    - fclose
    - asprintf
    - getenv
    - free
    linkageType: ''
    returnType: void
    signature: void dot(struct fa *fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_fa
      Src: /src/augeas/tests/fatest.c:167,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:167,1
    - Dst: make_fa
      Src: /src/augeas/tests/fatest.c:168,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: testBadRegexps
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - strlen
    - make_fa
    linkageType: ''
    returnType: void
    signature: void testBadRegexps(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:190,1
    - Dst: fa_ambig_example
      Src: /src/augeas/tests/fatest.c:192,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:195,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:196,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:197,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:198,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:201,1
    - Dst: fa_iter
      Src: /src/augeas/tests/fatest.c:201,1
    - Dst: fa_minimize
      Src: /src/augeas/tests/fatest.c:210,1
    - Dst: fa_ambig_example
      Src: /src/augeas/tests/fatest.c:211,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:213,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:214,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:215,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 217
    functionName: testMonster
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_ambig_example
    - make_good_fa
    - fa_minimize
    - mark
    - fa_iter
    - CuAssertStrEquals
    - free
    linkageType: ''
    returnType: void
    signature: void testMonster(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:222,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:223,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:224,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:224,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:226,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:227,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:227,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:229,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:229,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:230,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:230,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:232,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:233,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:234,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:234,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:235,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:236,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: testChars
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - make_good_fa
    - fa_contains
    - mark
    - fa_equals
    - CuAssertTrue
    - fa_intersect
    linkageType: ''
    returnType: void
    signature: void testChars(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:248,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:249,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:250,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:251,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:252,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:253,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:254,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:255,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:257,1
    - Dst: fa_concat
      Src: /src/augeas/tests/fatest.c:257,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:258,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:258,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:259,1
    - Dst: fa_concat
      Src: /src/augeas/tests/fatest.c:259,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:261,1
    - Dst: fa_concat
      Src: /src/augeas/tests/fatest.c:261,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:262,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:262,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:263,1
    - Dst: fa_concat
      Src: /src/augeas/tests/fatest.c:263,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:265,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:265,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:266,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:267,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 5
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: testManualAmbig
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_concat
    - make_good_fa
    - mark
    - fa_equals
    - CuAssertTrue
    - fa_intersect
    linkageType: ''
    returnType: void
    signature: void testManualAmbig(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:273,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:274,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:275,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:277,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:277,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:278,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:278,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:279,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:279,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:281,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:281,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:282,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:282,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:283,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:283,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:284,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:284,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:285,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:285,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:286,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: testContains
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_contains
    - CuAssertTrue
    - make_good_fa
    linkageType: ''
    returnType: void
    signature: void testContains(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:292,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:293,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:294,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:294,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:295,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:296,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:296,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:297,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: testIntersect
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - make_good_fa
    - mark
    - fa_equals
    - CuAssertPtrNotNull
    - CuAssertTrue
    - fa_intersect
    linkageType: ''
    returnType: void
    signature: void testIntersect(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:301,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:302,1
    - Dst: fa_complement
      Src: /src/augeas/tests/fatest.c:302,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:304,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:306,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:306,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:308,1
    - Dst: fa_complement
      Src: /src/augeas/tests/fatest.c:308,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:309,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 5
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: testComplement
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - make_good_fa
    - mark
    - fa_equals
    - fa_complement
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testComplement(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:313,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:314,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:315,1
    - Dst: fa_overlap
      Src: /src/augeas/tests/fatest.c:315,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:316,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:318,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:318,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:320,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:321,1
    - Dst: fa_iter
      Src: /src/augeas/tests/fatest.c:321,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:322,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:323,1
    - Dst: fa_overlap
      Src: /src/augeas/tests/fatest.c:323,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:325,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: testOverlap
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - make_good_fa
    - mark
    - fa_overlap
    - fa_iter
    - fa_equals
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testOverlap(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:329,1
    - Dst: fa_example
      Src: /src/augeas/tests/fatest.c:332,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:333,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:334,1
    - Dst: fa_nocase
      Src: /src/augeas/tests/fatest.c:336,1
    - Dst: strdup
      Src: /src/augeas/tests/fatest.c:337,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:338,1
    - Dst: tolower
      Src: /src/augeas/tests/fatest.c:338,1
    - Dst: fa_example
      Src: /src/augeas/tests/fatest.c:340,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:341,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:342,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tc
    - regexp
    - exp
    argTypes:
    - CuTest*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 5
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: assertExample
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - make_good_fa
    - fa_example
    - fa_nocase
    - CuAssertStrEquals
    - strdup
    - strlen
    - tolower
    - free
    linkageType: ''
    returnType: void
    signature: void assertExample(CuTest *tc, const char *regexp, const char *exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:347,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:348,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:349,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:350,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:351,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:352,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:353,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:354,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:355,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:356,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:357,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:358,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:359,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:360,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:361,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:363,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:364,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:366,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:369,1
    - Dst: assertExample
      Src: /src/augeas/tests/fatest.c:370,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:372,1
    - Dst: fa_make_basic
      Src: /src/augeas/tests/fatest.c:372,1
    - Dst: fa_example
      Src: /src/augeas/tests/fatest.c:375,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/fatest.c:376,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:378,1
    - Dst: fa_make_basic
      Src: /src/augeas/tests/fatest.c:378,1
    - Dst: fa_example
      Src: /src/augeas/tests/fatest.c:379,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:380,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 6
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: testExample
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuAssertPtrEquals
    - assertExample
    - fa_example
    - mark
    - fa_make_basic
    - CuAssertStrEquals
    - free
    linkageType: ''
    returnType: void
    signature: void testExample(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:388,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:389,1
    - Dst: fa_ambig_example
      Src: /src/augeas/tests/fatest.c:392,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:393,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:394,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:395,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:397,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:398,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:398,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:399,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:400,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - tc
    - regexp1
    - regexp2
    - exp_upv
    - exp_pv
    - exp_v
    argTypes:
    - CuTest*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: assertAmbig
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_ambig_example
    - CuAssertIntEquals
    - make_good_fa
    - free
    - CuAssertStrEquals
    - strlen
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: "void assertAmbig(CuTest *tc, const char *regexp1, const char *regexp2,\n
      \                       const char *exp_upv,\n                        const
      char *exp_pv, const char *exp_v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:406,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:407,1
    - Dst: fa_ambig_example
      Src: /src/augeas/tests/fatest.c:410,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/fatest.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tc
    - regexp1
    - regexp2
    argTypes:
    - CuTest*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 5
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: assertNotAmbig
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuAssertPtrEquals
    - fa_ambig_example
    - make_good_fa
    linkageType: ''
    returnType: void
    signature: "void assertNotAmbig(CuTest *tc, const char *regexp1,\n                           const
      char *regexp2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assertAmbig
      Src: /src/augeas/tests/fatest.c:415,1
    - Dst: assertAmbig
      Src: /src/augeas/tests/fatest.c:416,1
    - Dst: assertAmbig
      Src: /src/augeas/tests/fatest.c:417,1
    - Dst: assertAmbig
      Src: /src/augeas/tests/fatest.c:419,1
    - Dst: assertAmbig
      Src: /src/augeas/tests/fatest.c:420,1
    - Dst: assertNotAmbig
      Src: /src/augeas/tests/fatest.c:422,1
    - Dst: assertNotAmbig
      Src: /src/augeas/tests/fatest.c:423,1
    - Dst: assertNotAmbig
      Src: /src/augeas/tests/fatest.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 6
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: testAmbig
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - assertNotAmbig
    - assertAmbig
    linkageType: ''
    returnType: void
    signature: void testAmbig(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_fa
      Src: /src/augeas/tests/fatest.c:428,1
    - Dst: make_fa
      Src: /src/augeas/tests/fatest.c:429,1
    - Dst: fa_ambig_example
      Src: /src/augeas/tests/fatest.c:432,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:433,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:434,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:437,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:438,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:439,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:440,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:443,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:444,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:447,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:448,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:449,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 427
    functionDepth: 4
    functionLinenumber: 427
    functionLinenumberEnd: 451
    functionName: testAmbigWithNuls
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_ambig_example
    - CuAssertIntEquals
    - free
    - make_fa
    linkageType: ''
    returnType: void
    signature: void testAmbigWithNuls(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:456,1
    - Dst: fa_as_regexp
      Src: /src/augeas/tests/fatest.c:460,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:461,1
    - Dst: fa_compile
      Src: /src/augeas/tests/fatest.c:463,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:463,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:464,1
    - Dst: CuAssert
      Src: /src/augeas/tests/fatest.c:466,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:466,1
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:468,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tc
    - regexp
    argTypes:
    - CuTest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: assertFaAsRegexp
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_compile
    - CuAssertIntEquals
    - make_good_fa
    - fa_as_regexp
    - fa_free
    - fa_equals
    - CuAssert
    - strlen
    - free
    linkageType: ''
    returnType: void
    signature: void assertFaAsRegexp(CuTest *tc, const char *regexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:473,1
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:474,1
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:475,1
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:476,1
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:477,1
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:478,1
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:479,1
    - Dst: assertFaAsRegexp
      Src: /src/augeas/tests/fatest.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 6
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: testAsRegexp
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - assertFaAsRegexp
    linkageType: ''
    returnType: void
    signature: void testAsRegexp(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:484,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:485,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:486,1
    - Dst: fa_minus
      Src: /src/augeas/tests/fatest.c:486,1
    - Dst: fa_as_regexp
      Src: /src/augeas/tests/fatest.c:491,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:492,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:494,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:495,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:495,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: testAsRegexpMinus
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - make_good_fa
    - fa_as_regexp
    - mark
    - fa_minus
    - fa_equals
    - free
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testAsRegexpMinus(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_fa
      Src: /src/augeas/tests/fatest.c:502,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: testRangeEnd
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - strlen
    - make_fa
    linkageType: ''
    returnType: void
    signature: void testRangeEnd(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_fa
      Src: /src/augeas/tests/fatest.c:509,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:510,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:515,1
    - Dst: fa_contains
      Src: /src/augeas/tests/fatest.c:515,1
    - Dst: fa_as_regexp
      Src: /src/augeas/tests/fatest.c:517,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:518,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:519,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:520,1
    - Dst: memcmp
      Src: /src/augeas/tests/fatest.c:520,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 5
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: testNul
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - make_fa
    - CuAssertIntEquals
    - make_good_fa
    - fa_as_regexp
    - free
    - memcmp
    - CuAssertTrue
    - fa_contains
    linkageType: ''
    returnType: void
    signature: void testNul(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:526,1
    - Dst: fa_restrict_alphabet
      Src: /src/augeas/tests/fatest.c:532,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:532,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:533,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:534,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:534,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:535,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/fatest.c:536,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:536,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:537,1
    - Dst: fa_restrict_alphabet
      Src: /src/augeas/tests/fatest.c:539,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:539,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:541,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/fatest.c:542,1
    - Dst: fa_restrict_alphabet
      Src: /src/augeas/tests/fatest.c:544,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:544,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 524
    functionDepth: 5
    functionLinenumber: 524
    functionLinenumberEnd: 546
    functionName: testRestrictAlphabet
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - make_good_fa
    - CuAssertPtrEquals
    - fa_restrict_alphabet
    - fa_equals
    - strlen
    - free
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testRestrictAlphabet(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fa_expand_char_ranges
      Src: /src/augeas/tests/fatest.c:556,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:556,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:557,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:558,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:559,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:559,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:560,1
    - Dst: fa_expand_char_ranges
      Src: /src/augeas/tests/fatest.c:562,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:562,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:563,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:564,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 566
    functionName: testExpandCharRanges
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - fa_expand_char_ranges
    - CuAssertStrEquals
    - strlen
    - free
    linkageType: ''
    returnType: void
    signature: void testExpandCharRanges(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:569,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:570,1
    - Dst: fa_nocase
      Src: /src/augeas/tests/fatest.c:574,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:575,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:576,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:577,1
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:578,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:579,1
    - Dst: fa_concat
      Src: /src/augeas/tests/fatest.c:581,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:582,1
    - Dst: fa_equals
      Src: /src/augeas/tests/fatest.c:583,1
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:584,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 568
    functionDepth: 5
    functionLinenumber: 568
    functionLinenumberEnd: 586
    functionName: testNoCase
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - fa_concat
    - CuAssertIntEquals
    - make_good_fa
    - fa_nocase
    - fa_free
    - fa_equals
    - CuAssertPtrNotNull
    - fa_intersect
    linkageType: ''
    returnType: void
    signature: void testNoCase(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fa_expand_nocase
      Src: /src/augeas/tests/fatest.c:597,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:597,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:598,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:599,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:600,1
    - Dst: fa_expand_nocase
      Src: /src/augeas/tests/fatest.c:602,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:602,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:603,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:604,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:605,1
    - Dst: fa_expand_nocase
      Src: /src/augeas/tests/fatest.c:607,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:607,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:608,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:609,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:610,1
    - Dst: fa_expand_nocase
      Src: /src/augeas/tests/fatest.c:613,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:613,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:614,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 616
    functionName: testExpandNoCase
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - CuAssertStrEquals
    - strlen
    - fa_expand_nocase
    - free
    linkageType: ''
    returnType: void
    signature: void testExpandNoCase(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:620,1
    - Dst: fa_nocase
      Src: /src/augeas/tests/fatest.c:623,1
    - Dst: mark
      Src: /src/augeas/tests/fatest.c:625,1
    - Dst: fa_complement
      Src: /src/augeas/tests/fatest.c:625,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:627,1
    - Dst: fa_intersect
      Src: /src/augeas/tests/fatest.c:631,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:633,1
    - Dst: fa_is_basic
      Src: /src/augeas/tests/fatest.c:633,1
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 618
    functionDepth: 5
    functionLinenumber: 618
    functionLinenumberEnd: 635
    functionName: testNoCaseComplement
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - make_good_fa
    - mark
    - fa_nocase
    - fa_free
    - fa_is_basic
    - fa_complement
    - fa_intersect
    linkageType: ''
    returnType: void
    signature: void testNoCaseComplement(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/tests/fatest.c:639,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - words
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: free_words
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_words(int n, char **words)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:645,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:648,1
    - Dst: make_good_fa
      Src: /src/augeas/tests/fatest.c:649,1
    - Dst: fa_enumerate
      Src: /src/augeas/tests/fatest.c:654,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:655,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/fatest.c:656,1
    - Dst: fa_enumerate
      Src: /src/augeas/tests/fatest.c:658,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:659,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:660,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/tests/fatest.c:664,1
    - Dst: STREQ
      Src: /src/augeas/tests/fatest.c:665,1
    - Dst: asprintf
      Src: /src/augeas/tests/fatest.c:671,1
    - Dst: CuFail
      Src: /src/augeas/tests/fatest.c:672,1
    - Dst: free_words
      Src: /src/augeas/tests/fatest.c:675,1
    - Dst: fa_enumerate
      Src: /src/augeas/tests/fatest.c:677,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:678,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/fatest.c:679,1
    - Dst: fa_enumerate
      Src: /src/augeas/tests/fatest.c:681,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/fatest.c:682,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/fatest.c:683,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:684,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/fatest.c:685,1
    - Dst: free_words
      Src: /src/augeas/tests/fatest.c:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 644
    functionDepth: 5
    functionLinenumber: 644
    functionLinenumberEnd: 687
    functionName: testEnumerate
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - free_words
    - CuAssertIntEquals
    - make_good_fa
    - CuAssertPtrEquals
    - ARRAY_CARDINALITY
    - STREQ
    - asprintf
    - CuFail
    - CuAssertStrEquals
    - CuAssertPtrNotNull
    - fa_enumerate
    linkageType: ''
    returnType: void
    signature: void testEnumerate(CuTest *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CuSuiteNew
      Src: /src/augeas/tests/fatest.c:692,1
    - Dst: CuSuiteSetup
      Src: /src/augeas/tests/fatest.c:693,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:695,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:696,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:697,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:698,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:699,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:700,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:701,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:702,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:703,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:704,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:705,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:706,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:707,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:708,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:709,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:710,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:711,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:712,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:713,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:714,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/fatest.c:715,1
    - Dst: CuSuiteRun
      Src: /src/augeas/tests/fatest.c:717,1
    - Dst: CuSuiteSummary
      Src: /src/augeas/tests/fatest.c:718,1
    - Dst: CuSuiteDetails
      Src: /src/augeas/tests/fatest.c:719,1
    - Dst: printf
      Src: /src/augeas/tests/fatest.c:720,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:721,1
    - Dst: CuSuiteFree
      Src: /src/augeas/tests/fatest.c:723,1
    - Dst: fa_compile
      Src: /src/augeas/tests/fatest.c:730,1
    - Dst: strlen
      Src: /src/augeas/tests/fatest.c:730,1
    - Dst: print_regerror
      Src: /src/augeas/tests/fatest.c:731,1
    - Dst: dot
      Src: /src/augeas/tests/fatest.c:733,1
    - Dst: fa_example
      Src: /src/augeas/tests/fatest.c:736,1
    - Dst: printf
      Src: /src/augeas/tests/fatest.c:737,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:738,1
    - Dst: fa_as_regexp
      Src: /src/augeas/tests/fatest.c:741,1
    - Dst: printf
      Src: /src/augeas/tests/fatest.c:743,1
    - Dst: free
      Src: /src/augeas/tests/fatest.c:744,1
    - Dst: printf
      Src: /src/augeas/tests/fatest.c:746,1
    - Dst: fa_free
      Src: /src/augeas/tests/fatest.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 751
    functionName: main
    functionSourceFile: /src/augeas/tests/fatest.c
    functionUses: 0
    functionsReached:
    - CuSuiteSetup
    - fa_compile
    - CuSuiteDetails
    - CuSuiteNew
    - fa_example
    - fa_as_regexp
    - fa_free
    - CuSuiteSummary
    - CuSuiteRun
    - printf
    - CuSuiteFree
    - strlen
    - SUITE_ADD_TEST
    - print_regerror
    - free
    - dot
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: die
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die(msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-load.c:46,1
    - Dst: CuFail
      Src: /src/augeas/tests/test-load.c:48,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-load.c:51,1
    - Dst: CuFail
      Src: /src/augeas/tests/test-load.c:52,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:54,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:55,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:56,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:57,1
    - Dst: free
      Src: /src/augeas/tests/test-load.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: setup_hosts
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - run
    - CuFail
    - free
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *setup_hosts(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:67,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:68,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:70,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:71,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:73,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:74,1
    - Dst: free
      Src: /src/augeas/tests/test-load.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - tc
    - build_root
    argTypes:
    - CuTest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: setup_hosts_aug
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_set
    - CuAssertPtrNotNull
    - CuAssertRetSuccess
    - aug_init
    - free
    linkageType: ''
    returnType: struct augeas
    signature: struct augeas *setup_hosts_aug(CuTest *tc, char *build_root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_hosts
      Src: /src/augeas/tests/test-load.c:81,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:82,1
    - Dst: setup_hosts_aug
      Src: /src/augeas/tests/test-load.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: setup_writable_hosts
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - run
    - setup_hosts_aug
    - setup_hosts
    linkageType: ''
    returnType: struct augeas
    signature: struct augeas *setup_writable_hosts(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_hosts
      Src: /src/augeas/tests/test-load.c:87,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:88,1
    - Dst: setup_hosts_aug
      Src: /src/augeas/tests/test-load.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: setup_unreadable_hosts
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - run
    - setup_hosts_aug
    - setup_hosts
    linkageType: ''
    returnType: struct augeas
    signature: struct augeas *setup_unreadable_hosts(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:96,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:97,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:99,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:100,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:102,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:103,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-load.c:105,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/test-load.c:106,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:108,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:109,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:111,1
    - Dst: CuAssertZero
      Src: /src/augeas/tests/test-load.c:112,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: testDefault
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_load
    - CuAssertRetSuccess
    - aug_init
    - CuAssertZero
    - aug_rm
    - CuAssertPtrNotNull
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testDefault(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:121,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:122,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:124,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:125,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:127,1
    - Dst: CuAssertZero
      Src: /src/augeas/tests/test-load.c:128,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:130,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:131,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:133,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:134,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-load.c:137,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/test-load.c:138,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:140,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:141,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:143,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:144,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 147
    functionName: testNoLoad
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_load
    - CuAssertRetSuccess
    - aug_init
    - CuAssertZero
    - aug_rm
    - CuAssertPtrNotNull
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testNoLoad(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:153,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:154,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:156,1
    - Dst: CuAssertZero
      Src: /src/augeas/tests/test-load.c:157,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:159,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:160,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:162,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:163,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:165,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:166,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:168,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:169,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 172
    functionName: testNoAutoload
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - aug_init
    - CuAssertZero
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testNoAutoload(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:177,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:178,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:180,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:181,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:183,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:184,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:186,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - tc
    - aug
    - lens
    argTypes:
    - CuTest*
    - augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: invalidLens
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    linkageType: ''
    returnType: void
    signature: void invalidLens(CuTest *tc, augeas *aug, const char *lens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:194,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:195,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-load.c:197,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/test-load.c:198,1
    - Dst: invalidLens
      Src: /src/augeas/tests/test-load.c:200,1
    - Dst: invalidLens
      Src: /src/augeas/tests/test-load.c:201,1
    - Dst: invalidLens
      Src: /src/augeas/tests/test-load.c:202,1
    - Dst: invalidLens
      Src: /src/augeas/tests/test-load.c:203,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: testInvalidLens
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - aug_init
    - invalidLens
    - aug_rm
    - CuAssertPtrNotNull
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testInvalidLens(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_writable_hosts
      Src: /src/augeas/tests/test-load.c:212,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:214,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:215,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-load.c:217,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:218,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:220,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:221,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: testLoadSave
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_load
    - setup_writable_hosts
    - CuAssertRetSuccess
    - aug_save
    linkageType: ''
    returnType: void
    signature: void testLoadSave(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:231,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:232,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-load.c:234,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:235,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:237,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:238,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:240,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:241,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: testLoadDefined
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_load
    - CuAssertRetSuccess
    - aug_init
    - aug_defvar
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testLoadDefined(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:254,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:255,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-load.c:257,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:258,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:260,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:261,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-load.c:262,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-load.c:264,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:265,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:267,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:268,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-load.c:269,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-load.c:271,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:272,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:274,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:275,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-load.c:276,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 279
    functionName: testDefvarExpr
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_init
    - CuAssertStrEquals
    - aug_defvar
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testDefvarExpr(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_writable_hosts
      Src: /src/augeas/tests/test-load.c:289,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:291,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:292,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:294,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:295,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:297,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:298,1
    - Dst: strdup
      Src: /src/augeas/tests/test-load.c:299,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:300,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-load.c:303,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:304,1
    - Dst: fopen
      Src: /src/augeas/tests/test-load.c:306,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:307,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-load.c:309,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/test-load.c:310,1
    - Dst: fclose
      Src: /src/augeas/tests/test-load.c:312,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:313,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:316,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:317,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:320,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:321,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:323,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:324,1
    - Dst: CuAssertStrNotEqual
      Src: /src/augeas/tests/test-load.c:325,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:327,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:328,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:330,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:331,1
    - Dst: free
      Src: /src/augeas/tests/test-load.c:333,1
    - Dst: free
      Src: /src/augeas/tests/test-load.c:334,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 336
    functionName: testReloadChanged
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_get
    - CuAssertPositive
    - aug_close
    - CuAssertIntEquals
    - fprintf
    - aug_match
    - fopen
    - aug_load
    - setup_writable_hosts
    - aug_set
    - CuAssertRetSuccess
    - fclose
    - free
    - CuAssertStrNotEqual
    - strdup
    - asprintf
    - CuAssertPtrNotNull
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testReloadChanged(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_writable_hosts
      Src: /src/augeas/tests/test-load.c:342,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:344,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:345,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:348,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:349,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:351,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:352,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:354,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:355,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 358
    functionName: testReloadDirty
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - setup_writable_hosts
    - CuAssertRetSuccess
    linkageType: ''
    returnType: void
    signature: void testReloadDirty(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_writable_hosts
      Src: /src/augeas/tests/test-load.c:364,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:366,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:367,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-load.c:370,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:371,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:373,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:374,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:376,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:377,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-load.c:380,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:381,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:383,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:384,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:386,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:387,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: testReloadDeleted
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_load
    - setup_writable_hosts
    - CuAssertRetSuccess
    - aug_rm
    linkageType: ''
    returnType: void
    signature: void testReloadDeleted(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_writable_hosts
      Src: /src/augeas/tests/test-load.c:396,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:398,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:399,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-load.c:402,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:403,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:405,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:406,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:408,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:409,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:411,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:412,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 415
    functionName: testReloadDeletedMeta
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - setup_writable_hosts
    - CuAssertRetSuccess
    - aug_rm
    linkageType: ''
    returnType: void
    signature: void testReloadDeletedMeta(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_writable_hosts
      Src: /src/augeas/tests/test-load.c:426,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:428,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:429,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:431,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:432,1
    - Dst: strdup
      Src: /src/augeas/tests/test-load.c:433,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:434,1
    - Dst: aug_defnode
      Src: /src/augeas/tests/test-load.c:437,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:438,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:439,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:441,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:442,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:444,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:445,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-load.c:447,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:448,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:451,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:452,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:455,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:456,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:458,1
    - Dst: run
      Src: /src/augeas/tests/test-load.c:459,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:462,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:463,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-load.c:465,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:466,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:468,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:469,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:471,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:472,1
    - Dst: free
      Src: /src/augeas/tests/test-load.c:474,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 476
    functionName: testReloadExternalMod
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - run
    - aug_match
    - aug_set
    - aug_load
    - setup_writable_hosts
    - CuAssertRetSuccess
    - free
    - aug_save
    - strdup
    - aug_defnode
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testReloadExternalMod(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_writable_hosts
      Src: /src/augeas/tests/test-load.c:485,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:487,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:488,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:490,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:491,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:493,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:494,1
    - Dst: aug_save
      Src: /src/augeas/tests/test-load.c:496,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:497,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:499,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:500,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:502,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:503,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 506
    functionName: testReloadAfterSaveNewfile
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - setup_writable_hosts
    - CuAssertRetSuccess
    - aug_save
    linkageType: ''
    returnType: void
    signature: void testReloadAfterSaveNewfile(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:517,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:518,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:520,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:521,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:523,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:524,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:526,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:527,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:529,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:530,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 533
    functionName: testParseErrorReported
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - aug_init
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testParseErrorReported(CuTest *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/augeas/tests/test-load.c:537,1
    - Dst: puts
      Src: /src/augeas/tests/test-load.c:538,1
    - Dst: setup_unreadable_hosts
      Src: /src/augeas/tests/test-load.c:546,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:548,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-load.c:549,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:551,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:552,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:554,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:555,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-load.c:556,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:558,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:559,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 536
    functionDepth: 4
    functionLinenumber: 536
    functionLinenumberEnd: 562
    functionName: testPermsErrorReported
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - puts
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_load
    - CuAssertRetSuccess
    - setup_unreadable_hosts
    - CuAssertStrEquals
    - getuid
    linkageType: ''
    returnType: void
    signature: void testPermsErrorReported(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:577,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:578,1
    - Dst: aug_srun
      Src: /src/augeas/tests/test-load.c:580,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:581,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:583,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:584,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 587
    functionName: testLoadExclWithRoot
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_init
    - aug_srun
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testLoadExclWithRoot(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:600,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:601,1
    - Dst: aug_srun
      Src: /src/augeas/tests/test-load.c:603,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:604,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:606,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:607,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:609,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:610,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 613
    functionName: testLoadTrailingExcl
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_init
    - aug_srun
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testLoadTrailingExcl(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-load.c:627,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-load.c:628,1
    - Dst: aug_srun
      Src: /src/augeas/tests/test-load.c:632,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:633,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-load.c:635,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:636,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-load.c:639,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:640,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-load.c:642,1
    - Dst: CuAssertPositive
      Src: /src/augeas/tests/test-load.c:643,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-load.c:645,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:646,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-load.c:648,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-load.c:649,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-load.c:650,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-load.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 653
    functionName: testMultipleXfm
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - CuAssertPositive
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - aug_init
    - CuAssertStrEquals
    - aug_srun
    - aug_rm
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testMultipleXfm(CuTest *tc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CuSuiteNew
      Src: /src/augeas/tests/test-load.c:657,1
    - Dst: CuSuiteSetup
      Src: /src/augeas/tests/test-load.c:659,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:660,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:661,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:662,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:663,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:664,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:665,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:666,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:667,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:668,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:669,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:670,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:671,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:672,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:673,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:674,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:675,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:676,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-load.c:677,1
    - Dst: getenv
      Src: /src/augeas/tests/test-load.c:679,1
    - Dst: die
      Src: /src/augeas/tests/test-load.c:681,1
    - Dst: getenv
      Src: /src/augeas/tests/test-load.c:683,1
    - Dst: die
      Src: /src/augeas/tests/test-load.c:685,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-load.c:687,1
    - Dst: die
      Src: /src/augeas/tests/test-load.c:688,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-load.c:691,1
    - Dst: die
      Src: /src/augeas/tests/test-load.c:692,1
    - Dst: CuSuiteRun
      Src: /src/augeas/tests/test-load.c:695,1
    - Dst: CuSuiteSummary
      Src: /src/augeas/tests/test-load.c:696,1
    - Dst: CuSuiteDetails
      Src: /src/augeas/tests/test-load.c:697,1
    - Dst: printf
      Src: /src/augeas/tests/test-load.c:698,1
    - Dst: free
      Src: /src/augeas/tests/test-load.c:699,1
    - Dst: CuSuiteFree
      Src: /src/augeas/tests/test-load.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 704
    functionName: main
    functionSourceFile: /src/augeas/tests/test-load.c
    functionUses: 0
    functionsReached:
    - CuSuiteSetup
    - CuSuiteFree
    - CuSuiteDetails
    - CuSuiteNew
    - die
    - asprintf
    - CuSuiteRun
    - CuSuiteSummary
    - printf
    - getenv
    - SUITE_ADD_TEST
    - free
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: die
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/augeas/tests/test-xpath.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: skipws
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 4
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *skipws(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/augeas/tests/test-xpath.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: findws
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 3
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *findws(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/tests/test-xpath.c:70,1
    - Dst: findws
      Src: /src/augeas/tests/test-xpath.c:71,1
    - Dst: strndup
      Src: /src/augeas/tests/test-xpath.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - tok
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: token
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 1
    functionsReached:
    - skipws
    - findws
    - strndup
    linkageType: ''
    returnType: char
    signature: char *token(char *s, char **tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/tests/test-xpath.c:77,1
    - Dst: strndup
      Src: /src/augeas/tests/test-xpath.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - tok
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: token_to_eol
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - skipws
    - strndup
    linkageType: ''
    returnType: char
    signature: char *token_to_eol(char *s, char **tok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/tests/test-xpath.c:84,1
    - Dst: isspace
      Src: /src/augeas/tests/test-xpath.c:89,1
    - Dst: strndup
      Src: /src/augeas/tests/test-xpath.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: findpath
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - skipws
    - strndup
    - isspace
    linkageType: ''
    returnType: char
    signature: char *findpath(char *s, char **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:104,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:105,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:106,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:108,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:109,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: free_tests
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_tests(struct test *test)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-xpath.c:121,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:122,1
    - Dst: fopen
      Src: /src/augeas/tests/test-xpath.c:124,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:125,1
    - Dst: fgets
      Src: /src/augeas/tests/test-xpath.c:127,1
    - Dst: skipws
      Src: /src/augeas/tests/test-xpath.c:129,1
    - Dst: STREQLEN
      Src: /src/augeas/tests/test-xpath.c:132,1
    - Dst: strlen
      Src: /src/augeas/tests/test-xpath.c:132,1
    - Dst: ALLOC
      Src: /src/augeas/tests/test-xpath.c:133,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:134,1
    - Dst: list_append
      Src: /src/augeas/tests/test-xpath.c:135,1
    - Dst: token
      Src: /src/augeas/tests/test-xpath.c:136,1
    - Dst: strlen
      Src: /src/augeas/tests/test-xpath.c:136,1
    - Dst: token_to_eol
      Src: /src/augeas/tests/test-xpath.c:137,1
    - Dst: ALLOC
      Src: /src/augeas/tests/test-xpath.c:140,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:141,1
    - Dst: list_append
      Src: /src/augeas/tests/test-xpath.c:142,1
    - Dst: findpath
      Src: /src/augeas/tests/test-xpath.c:143,1
    - Dst: skipws
      Src: /src/augeas/tests/test-xpath.c:144,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:147,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:149,1
    - Dst: token_to_eol
      Src: /src/augeas/tests/test-xpath.c:151,1
    - Dst: skipws
      Src: /src/augeas/tests/test-xpath.c:154,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:156,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:157,1
    - Dst: fclose
      Src: /src/augeas/tests/test-xpath.c:160,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 163
    functionName: read_tests
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 1
    functionsReached:
    - token_to_eol
    - list_append
    - STREQLEN
    - findpath
    - fprintf
    - skipws
    - fopen
    - fclose
    - asprintf
    - fgets
    - strlen
    - token
    - die
    - free
    - ALLOC
    linkageType: ''
    returnType: struct test
    signature: struct test *read_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:167,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - path
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: print_pv
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_pv(const char *path, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/tests/test-xpath.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - path
    - matches
    - nmatches
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: has_match
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: int
    signature: int has_match(const char *path, char **matches, int nmatches)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:188,1
    - Dst: list_for_each
      Src: /src/augeas/tests/test-xpath.c:189,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-xpath.c:191,1
    - Dst: has_match
      Src: /src/augeas/tests/test-xpath.c:199,1
    - Dst: streqv
      Src: /src/augeas/tests/test-xpath.c:201,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-xpath.c:202,1
    - Dst: streqv
      Src: /src/augeas/tests/test-xpath.c:203,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:209,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:211,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:213,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:214,1
    - Dst: list_for_each
      Src: /src/augeas/tests/test-xpath.c:215,1
    - Dst: print_pv
      Src: /src/augeas/tests/test-xpath.c:216,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:219,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:221,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-xpath.c:225,1
    - Dst: print_pv
      Src: /src/augeas/tests/test-xpath.c:226,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:230,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - aug
    - t
    argTypes:
    - struct augeas*
    - struct test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 234
    functionName: run_one_test
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 2
    functionsReached:
    - aug_get
    - print_pv
    - aug_match
    - has_match
    - streqv
    - list_for_each
    - printf
    - free
    linkageType: ''
    returnType: int
    signature: int run_one_test(struct augeas *aug, struct test *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:239,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-xpath.c:240,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:242,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-xpath.c:244,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:246,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-xpath.c:250,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:252,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-xpath.c:256,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:258,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:261,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 266
    functionName: test_rm_var
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - aug_rm
    - fprintf
    - aug_match
    - printf
    - die
    - aug_defvar
    linkageType: ''
    returnType: int
    signature: int test_rm_var(struct augeas *aug)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:271,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-xpath.c:272,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:274,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-xpath.c:276,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:279,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: test_defvar_nonexistent
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - die
    - aug_set
    - aug_defvar
    - printf
    linkageType: ''
    returnType: int
    signature: int test_defvar_nonexistent(struct augeas *aug)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:289,1
    - Dst: aug_defnode
      Src: /src/augeas/tests/test-xpath.c:290,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:292,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:294,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-xpath.c:297,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:299,1
    - Dst: aug_defnode
      Src: /src/augeas/tests/test-xpath.c:303,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:305,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:307,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-xpath.c:313,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-xpath.c:317,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:321,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 326
    functionName: test_defnode_nonexistent
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - fprintf
    - aug_match
    - aug_set
    - printf
    - aug_defnode
    - die
    linkageType: ''
    returnType: int
    signature: int test_defnode_nonexistent(struct augeas *aug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:331,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-xpath.c:332,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:336,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: test_invalid_regexp
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - aug_match
    - printf
    linkageType: ''
    returnType: int
    signature: int test_invalid_regexp(struct augeas *aug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:346,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-xpath.c:347,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:351,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 356
    functionName: test_wrong_regexp_flag
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - aug_match
    - printf
    linkageType: ''
    returnType: int
    signature: int test_wrong_regexp_flag(struct augeas *aug)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:361,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-xpath.c:367,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:369,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-xpath.c:373,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:375,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-xpath.c:382,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:384,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-xpath.c:389,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:391,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-xpath.c:397,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:399,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-xpath.c:402,1
    - Dst: fprintf
      Src: /src/augeas/tests/test-xpath.c:404,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:407,1
    - Dst: printf
      Src: /src/augeas/tests/test-xpath.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 412
    functionName: test_trailing_ws_in_name
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_set
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_trailing_ws_in_name(struct augeas *aug)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-xpath.c:419,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:420,1
    - Dst: aug_init
      Src: /src/augeas/tests/test-xpath.c:422,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:424,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-xpath.c:425,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:427,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-xpath.c:428,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:430,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-xpath.c:431,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:433,1
    - Dst: should_run
      Src: /src/augeas/tests/test-xpath.c:436,1
    - Dst: run_one_test
      Src: /src/augeas/tests/test-xpath.c:438,1
    - Dst: test_rm_var
      Src: /src/augeas/tests/test-xpath.c:443,1
    - Dst: test_defvar_nonexistent
      Src: /src/augeas/tests/test-xpath.c:446,1
    - Dst: test_defnode_nonexistent
      Src: /src/augeas/tests/test-xpath.c:449,1
    - Dst: test_invalid_regexp
      Src: /src/augeas/tests/test-xpath.c:452,1
    - Dst: test_wrong_regexp_flag
      Src: /src/augeas/tests/test-xpath.c:455,1
    - Dst: test_trailing_ws_in_name
      Src: /src/augeas/tests/test-xpath.c:458,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-xpath.c:461,1
    - Dst: free
      Src: /src/augeas/tests/test-xpath.c:462,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - tests
    - argc
    - argv
    argTypes:
    - struct test*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 465
    functionName: run_tests
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 1
    functionsReached:
    - test_trailing_ws_in_name
    - test_defnode_nonexistent
    - aug_close
    - should_run
    - test_invalid_regexp
    - test_wrong_regexp_flag
    - run_one_test
    - aug_init
    - asprintf
    - test_defvar_nonexistent
    - die
    - aug_defvar
    - free
    - test_rm_var
    linkageType: ''
    returnType: int
    signature: int run_tests(struct test *tests, int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: should_run
      Src: /src/augeas/tests/test-xpath.c:436,1
    - Dst: run_one_test
      Src: /src/augeas/tests/test-xpath.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: list_for_each
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 1
    functionsReached:
    - run_one_test
    - should_run
    linkageType: ''
    returnType: void
    signature: void list_for_each(t, tests)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/tests/test-xpath.c:470,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:472,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-xpath.c:474,1
    - Dst: die
      Src: /src/augeas/tests/test-xpath.c:475,1
    - Dst: read_tests
      Src: /src/augeas/tests/test-xpath.c:478,1
    - Dst: run_tests
      Src: /src/augeas/tests/test-xpath.c:479,1
    - Dst: free_tests
      Src: /src/augeas/tests/test-xpath.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 494
    functionName: main
    functionSourceFile: /src/augeas/tests/test-xpath.c
    functionUses: 0
    functionsReached:
    - free_tests
    - run_tests
    - asprintf
    - read_tests
    - getenv
    - die
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tc
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: CuAssertPositive
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertPositive(tc, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tc
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CuAssertZero
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertZero(tc, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tc
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: CuAssertRetSuccess
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertRetSuccess(tc, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tc
    - ','
    - ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: CuFail
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuFail(tc, ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tc
    - ','
    - ms
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: CuAssert
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssert(tc, ms, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tc
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: CuAssertTrue
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertTrue(tc, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tc
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: CuAssertStrEquals
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertStrEquals(tc,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tc
    - ','
    - ms
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: CuAssertStrEquals_Msg
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertStrEquals_Msg(tc,ms,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tc
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: CuAssertStrNotEqual
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertStrNotEqual(tc,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tc
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: CuAssertIntEquals
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertIntEquals(tc,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tc
    - ','
    - ms
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: CuAssertIntEquals_Msg
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertIntEquals_Msg(tc,ms,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tc
    - ','
    - ex
    - ','
    - ac
    - ','
    - dl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: CuAssertDblEquals
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertDblEquals(tc,ex,ac,dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tc
    - ','
    - ms
    - ','
    - ex
    - ','
    - ac
    - ','
    - dl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: CuAssertDblEquals_Msg
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertDblEquals_Msg(tc,ms,ex,ac,dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tc
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: CuAssertPtrEquals
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertPtrEquals(tc,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tc
    - ','
    - ms
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: CuAssertPtrEquals_Msg
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertPtrEquals_Msg(tc,ms,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tc
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: CuAssertPtrNotEqual
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertPtrNotEqual(tc,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tc
    - ','
    - ms
    - ','
    - ex
    - ','
    - ac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: CuAssertPtrNotEqual_Msg
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertPtrNotEqual_Msg(tc,ms,ex,ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: CuAssertPtrNotNull
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertPtrNotNull(tc,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tc
    - ','
    - msg
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: CuAssertPtrNotNullMsg
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuAssertPtrNotNullMsg(tc,msg,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SUITE
    - ','
    - TEST
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: SUITE_ADD_TEST
    functionSourceFile: /src/augeas/tests/cutest.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUITE_ADD_TEST(SUITE,TEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: die
    functionSourceFile: /src/augeas/tests/leak.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die(msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/tests/leak.c:22,1
    - Dst: die
      Src: /src/augeas/tests/leak.c:24,1
    - Dst: getenv
      Src: /src/augeas/tests/leak.c:26,1
    - Dst: die
      Src: /src/augeas/tests/leak.c:28,1
    - Dst: asprintf
      Src: /src/augeas/tests/leak.c:30,1
    - Dst: die
      Src: /src/augeas/tests/leak.c:31,1
    - Dst: asprintf
      Src: /src/augeas/tests/leak.c:34,1
    - Dst: die
      Src: /src/augeas/tests/leak.c:35,1
    - Dst: aug_init
      Src: /src/augeas/tests/leak.c:38,1
    - Dst: perror
      Src: /src/augeas/tests/leak.c:39,1
    - Dst: exit
      Src: /src/augeas/tests/leak.c:39,1
    - Dst: aug_close
      Src: /src/augeas/tests/leak.c:40,1
    - Dst: free
      Src: /src/augeas/tests/leak.c:42,1
    - Dst: free
      Src: /src/augeas/tests/leak.c:43,1
    - Dst: free
      Src: /src/augeas/tests/leak.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/augeas/tests/leak.c
    functionUses: 0
    functionsReached:
    - aug_close
    - exit
    - aug_init
    - asprintf
    - getenv
    - die
    - free
    - perror
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: die
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:51,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:52,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:53,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:53,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:56,1
    - Dst: CuAssertTrue
      Src: /src/augeas/tests/test-api.c:57,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:58,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:58,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:61,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:62,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:63,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:64,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:64,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:67,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:68,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:69,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:70,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:70,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:73,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:74,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:75,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:76,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:76,1
    - Dst: aug_label
      Src: /src/augeas/tests/test-api.c:79,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:80,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:81,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:82,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:82,1
    - Dst: aug_label
      Src: /src/augeas/tests/test-api.c:85,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:86,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:87,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:88,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:88,1
    - Dst: aug_label
      Src: /src/augeas/tests/test-api.c:91,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:92,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:93,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:94,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:94,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:97,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:98,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:99,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:100,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:101,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:101,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:104,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:105,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:106,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:107,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:108,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:108,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:111,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:112,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:113,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:114,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:115,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:115,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:118,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:119,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:120,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:121,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:122,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:123,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:123,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:128,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:129,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:130,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 133
    functionName: testGet
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - CuAssertPtrEquals
    - aug_set
    - aug_init
    - aug_label
    - aug_error
    - CuAssertPtrNotNull
    - CuAssertTrue
    linkageType: ''
    returnType: void
    signature: void testGet(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:140,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:141,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:142,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:142,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:145,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:146,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:147,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:147,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:150,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:151,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:152,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:152,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:155,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:156,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:157,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:157,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:158,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:159,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:160,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:160,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:161,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:162,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:163,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:163,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: testSet
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_set
    - aug_init
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testSet(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:172,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:173,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:174,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:174,1
    - Dst: aug_setm
      Src: /src/augeas/tests/test-api.c:177,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:178,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:180,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:181,1
    - Dst: aug_setm
      Src: /src/augeas/tests/test-api.c:184,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:185,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:187,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:188,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:190,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:191,1
    - Dst: aug_setm
      Src: /src/augeas/tests/test-api.c:194,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:195,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:197,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:198,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:200,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:201,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:203,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:204,1
    - Dst: aug_setm
      Src: /src/augeas/tests/test-api.c:207,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:208,1
    - Dst: aug_setm
      Src: /src/augeas/tests/test-api.c:211,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:212,1
    - Dst: aug_setm
      Src: /src/augeas/tests/test-api.c:214,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:215,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 218
    functionName: testSetM
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_setm
    - aug_init
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testSetM(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:229,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:230,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:231,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:231,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-api.c:233,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:234,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:236,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:237,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:239,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:240,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-api.c:242,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:243,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:245,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:246,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 249
    functionName: testDefVarMeta
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_init
    - CuAssertStrEquals
    - aug_error
    - aug_defvar
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testDefVarMeta(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:261,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:262,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:263,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:263,1
    - Dst: aug_defnode
      Src: /src/augeas/tests/test-api.c:265,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:266,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:267,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:269,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:270,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:272,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:273,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-api.c:275,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:276,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:278,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:279,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 282
    functionName: testDefNodeExistingMeta
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_init
    - CuAssertStrEquals
    - aug_defnode
    - aug_error
    - aug_defvar
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testDefNodeExistingMeta(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:295,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:296,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:297,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:297,1
    - Dst: aug_defnode
      Src: /src/augeas/tests/test-api.c:299,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:300,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:301,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:303,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:304,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:306,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:307,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-api.c:309,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:310,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:312,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:313,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: testDefNodeCreateMeta
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_init
    - CuAssertStrEquals
    - aug_defnode
    - aug_error
    - aug_defvar
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testDefNodeCreateMeta(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    argTypes:
    - uint*
    - uint*
    - uint*
    - uint*
    - uint*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: reset_indexes
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_indexes(uint *a, uint *b, uint *c, uint *d, uint *e, uint
      *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:360,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-api.c:361,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:362,1
    - Dst: aug_span
      Src: /src/augeas/tests/test-api.c:367,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:369,1
    - Dst: CuAssertIntEquals_Msg
      Src: /src/augeas/tests/test-api.c:370,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:371,1
    - Dst: CuAssertIntEquals_Msg
      Src: /src/augeas/tests/test-api.c:372,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:373,1
    - Dst: CuAssertIntEquals_Msg
      Src: /src/augeas/tests/test-api.c:374,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:375,1
    - Dst: CuAssertIntEquals_Msg
      Src: /src/augeas/tests/test-api.c:376,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:377,1
    - Dst: CuAssertIntEquals_Msg
      Src: /src/augeas/tests/test-api.c:378,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:379,1
    - Dst: CuAssertIntEquals_Msg
      Src: /src/augeas/tests/test-api.c:380,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:381,1
    - Dst: CuAssertIntEquals_Msg
      Src: /src/augeas/tests/test-api.c:382,1
    - Dst: basename
      Src: /src/augeas/tests/test-api.c:384,1
    - Dst: sprintf
      Src: /src/augeas/tests/test-api.c:388,1
    - Dst: CuAssertStrEquals_Msg
      Src: /src/augeas/tests/test-api.c:389,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:390,1
    - Dst: reset_indexes
      Src: /src/augeas/tests/test-api.c:392,1
    - Dst: aug_span
      Src: /src/augeas/tests/test-api.c:397,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:400,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:401,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:402,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:402,1
    - Dst: aug_span
      Src: /src/augeas/tests/test-api.c:405,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:408,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:409,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:410,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:410,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:413,1
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:414,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-api.c:415,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:416,1
    - Dst: aug_span
      Src: /src/augeas/tests/test-api.c:417,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:419,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:420,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:421,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:421,1
    - Dst: reset_indexes
      Src: /src/augeas/tests/test-api.c:422,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 426
    functionName: testNodeInfo
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_span
    - aug_close
    - CuAssertIntEquals
    - CuAssertIntEquals_Msg
    - CuAssertStrEquals_Msg
    - CuAssertPtrEquals
    - aug_load
    - reset_indexes
    - CuAssertRetSuccess
    - basename
    - aug_init
    - aug_error
    - free
    - sprintf
    linkageType: ''
    returnType: void
    signature: void testNodeInfo(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:432,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:433,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:435,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:436,1
    - Dst: aug_mv
      Src: /src/augeas/tests/test-api.c:438,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:439,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:440,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:440,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: testMv
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_set
    - CuAssertRetSuccess
    - aug_init
    - aug_error
    - CuAssertPtrNotNull
    - aug_mv
    linkageType: ''
    returnType: void
    signature: void testMv(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:450,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:451,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-api.c:452,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:453,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:455,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:456,1
    - Dst: aug_cp
      Src: /src/augeas/tests/test-api.c:458,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:459,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:460,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:460,1
    - Dst: aug_cp
      Src: /src/augeas/tests/test-api.c:463,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:464,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:467,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:468,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:469,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:472,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:473,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:474,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:475,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:476,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:477,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:478,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:479,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:480,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:481,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 484
    functionName: testCp
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - aug_cp
    - CuAssertIntEquals
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - aug_init
    - CuAssertStrEquals
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testCp(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:491,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:492,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:494,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:495,1
    - Dst: aug_rename
      Src: /src/augeas/tests/test-api.c:497,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:498,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:500,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:501,1
    - Dst: aug_rename
      Src: /src/augeas/tests/test-api.c:504,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:505,1
    - Dst: aug_rename
      Src: /src/augeas/tests/test-api.c:508,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:509,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:510,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:510,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 513
    functionName: testRename
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_set
    - aug_rename
    - CuAssertRetSuccess
    - aug_init
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testRename(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:521,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-api.c:522,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:523,1
    - Dst: aug_to_xml
      Src: /src/augeas/tests/test-api.c:525,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:526,1
    - Dst: xmlGetProp
      Src: /src/augeas/tests/test-api.c:528,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:529,1
    - Dst: xmlFree
      Src: /src/augeas/tests/test-api.c:530,1
    - Dst: xmlFirstElementChild
      Src: /src/augeas/tests/test-api.c:532,1
    - Dst: xmlGetProp
      Src: /src/augeas/tests/test-api.c:533,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:534,1
    - Dst: xmlFree
      Src: /src/augeas/tests/test-api.c:535,1
    - Dst: xmlGetProp
      Src: /src/augeas/tests/test-api.c:537,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:538,1
    - Dst: xmlFree
      Src: /src/augeas/tests/test-api.c:539,1
    - Dst: xmlFirstElementChild
      Src: /src/augeas/tests/test-api.c:541,1
    - Dst: xmlGetProp
      Src: /src/augeas/tests/test-api.c:542,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:543,1
    - Dst: xmlFree
      Src: /src/augeas/tests/test-api.c:544,1
    - Dst: xmlFreeNode
      Src: /src/augeas/tests/test-api.c:545,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:548,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:549,1
    - Dst: aug_to_xml
      Src: /src/augeas/tests/test-api.c:550,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:551,1
    - Dst: xmlFirstElementChild
      Src: /src/augeas/tests/test-api.c:552,1
    - Dst: xmlGetProp
      Src: /src/augeas/tests/test-api.c:553,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:554,1
    - Dst: xmlFree
      Src: /src/augeas/tests/test-api.c:555,1
    - Dst: xmlFreeNode
      Src: /src/augeas/tests/test-api.c:557,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 559
    functionName: testToXml
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_to_xml
    - aug_close
    - xmlFreeNode
    - xmlFirstElementChild
    - aug_set
    - aug_load
    - xmlFree
    - CuAssertRetSuccess
    - xmlGetProp
    - aug_init
    - CuAssertStrEquals
    linkageType: ''
    returnType: void
    signature: void testToXml(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:570,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:571,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:573,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:574,1
    - Dst: aug_text_store
      Src: /src/augeas/tests/test-api.c:576,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:577,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:579,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:580,1
    - Dst: aug_text_store
      Src: /src/augeas/tests/test-api.c:583,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:584,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:585,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:585,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:587,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:588,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:591,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:592,1
    - Dst: aug_text_store
      Src: /src/augeas/tests/test-api.c:594,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:595,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:597,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:598,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:600,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:601,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:602,1
    - Dst: aug_text_store
      Src: /src/augeas/tests/test-api.c:604,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:605,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:607,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:608,1
    - Dst: aug_text_store
      Src: /src/augeas/tests/test-api.c:611,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:612,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:613,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:613,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:615,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:616,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 619
    functionName: testTextStore
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - CuAssertRetSuccess
    - aug_init
    - CuAssertStrEquals
    - aug_text_store
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testTextStore(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:627,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:628,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:630,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:631,1
    - Dst: aug_text_store
      Src: /src/augeas/tests/test-api.c:633,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:634,1
    - Dst: aug_text_retrieve
      Src: /src/augeas/tests/test-api.c:636,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:637,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:639,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:640,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:642,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 645
    functionName: testTextRetrieve
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_set
    - CuAssertRetSuccess
    - aug_init
    - CuAssertStrEquals
    - aug_text_store
    - aug_text_retrieve
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testTextRetrieve(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:654,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:655,1
    - Dst: aug_escape_name
      Src: /src/augeas/tests/test-api.c:657,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:658,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:660,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:661,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 664
    functionName: testAugEscape
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertRetSuccess
    - free
    - aug_init
    - CuAssertStrEquals
    - aug_escape_name
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testAugEscape(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:670,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:671,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:673,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:674,1
    - Dst: aug_rm
      Src: /src/augeas/tests/test-api.c:676,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:677,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 680
    functionName: testRm
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_set
    - CuAssertRetSuccess
    - aug_init
    - aug_rm
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testRm(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:687,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:688,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:689,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:689,1
    - Dst: aug_load_file
      Src: /src/augeas/tests/test-api.c:692,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:693,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-api.c:694,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:695,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:696,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:699,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:700,1
    - Dst: aug_load_file
      Src: /src/augeas/tests/test-api.c:703,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:704,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:705,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:705,1
    - Dst: aug_load_file
      Src: /src/augeas/tests/test-api.c:709,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:710,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:711,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:712,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 715
    functionName: testLoadFile
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - CuAssertIntEquals
    - aug_match
    - aug_load_file
    - CuAssertRetSuccess
    - aug_init
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testLoadFile(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:725,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:726,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:727,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:727,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:729,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:730,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-api.c:732,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:733,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 736
    functionName: testLoadBadPath
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - aug_init
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testLoadBadPath(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-api.c:751,1
    - Dst: CuAssert
      Src: /src/augeas/tests/test-api.c:752,1
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:754,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:755,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:756,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:756,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-api.c:758,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:759,1
    - Dst: aug_load
      Src: /src/augeas/tests/test-api.c:761,1
    - Dst: CuAssertRetSuccess
      Src: /src/augeas/tests/test-api.c:762,1
    - Dst: aug_match
      Src: /src/augeas/tests/test-api.c:766,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:767,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 770
    functionName: testLoadBadLens
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - aug_match
    - aug_set
    - aug_load
    - CuAssertRetSuccess
    - free
    - aug_init
    - CuAssert
    - asprintf
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testLoadBadLens(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:779,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:780,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:781,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:781,1
    - Dst: aug_load_file
      Src: /src/augeas/tests/test-api.c:783,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:784,1
    - Dst: aug_defvar
      Src: /src/augeas/tests/test-api.c:786,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:788,1
    - Dst: aug_ns_attr
      Src: /src/augeas/tests/test-api.c:790,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:791,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:792,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:793,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:794,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:795,1
    - Dst: aug_ns_attr
      Src: /src/augeas/tests/test-api.c:798,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:799,1
    - Dst: aug_ns_attr
      Src: /src/augeas/tests/test-api.c:801,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:802,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:803,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:804,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:805,1
    - Dst: aug_ns_attr
      Src: /src/augeas/tests/test-api.c:808,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:809,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:810,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:811,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:812,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:813,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 817
    functionName: testAugNs
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - CuAssertIntEquals
    - CuAssertPtrEquals
    - aug_load_file
    - free
    - aug_init
    - CuAssertStrEquals
    - aug_error
    - aug_defvar
    - CuAssertPtrNotNull
    - aug_ns_attr
    linkageType: ''
    returnType: void
    signature: void testAugNs(CuTest *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:825,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:826,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:827,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:827,1
    - Dst: aug_load_file
      Src: /src/augeas/tests/test-api.c:829,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:830,1
    - Dst: aug_source
      Src: /src/augeas/tests/test-api.c:832,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:833,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:834,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:835,1
    - Dst: aug_source
      Src: /src/augeas/tests/test-api.c:837,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:838,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:839,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:839,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:840,1
    - Dst: aug_source
      Src: /src/augeas/tests/test-api.c:842,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:843,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:844,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:844,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:845,1
    - Dst: aug_source
      Src: /src/augeas/tests/test-api.c:847,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:848,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:849,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:849,1
    - Dst: CuAssertPtrEquals
      Src: /src/augeas/tests/test-api.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 852
    functionName: testAugSource
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - CuAssertIntEquals
    - CuAssertPtrEquals
    - aug_load_file
    - aug_source
    - free
    - aug_init
    - CuAssertStrEquals
    - aug_error
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testAugSource(CuTest *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/tests/test-api.c:864,1
    - Dst: fopen
      Src: /src/augeas/tests/test-api.c:865,1
    - Dst: calloc
      Src: /src/augeas/tests/test-api.c:867,1
    - Dst: fread
      Src: /src/augeas/tests/test-api.c:869,1
    - Dst: fclose
      Src: /src/augeas/tests/test-api.c:872,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:874,1
    - Dst: aug_init
      Src: /src/augeas/tests/test-api.c:877,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-api.c:878,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:879,1
    - Dst: aug_error
      Src: /src/augeas/tests/test-api.c:879,1
    - Dst: aug_load_file
      Src: /src/augeas/tests/test-api.c:881,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:882,1
    - Dst: aug_preview
      Src: /src/augeas/tests/test-api.c:884,1
    - Dst: CuAssertIntEquals
      Src: /src/augeas/tests/test-api.c:885,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-api.c:886,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:888,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:889,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-api.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 891
    functionName: testAugPreview
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - aug_close
    - aug_preview
    - CuAssertIntEquals
    - calloc
    - fopen
    - CuAssertPtrNotNull
    - fclose
    - fread
    - aug_load_file
    - aug_init
    - asprintf
    - CuAssertStrEquals
    - aug_error
    - free
    linkageType: ''
    returnType: void
    signature: void testAugPreview(CuTest *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CuSuiteNew
      Src: /src/augeas/tests/test-api.c:895,1
    - Dst: CuSuiteSetup
      Src: /src/augeas/tests/test-api.c:896,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:898,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:899,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:900,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:901,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:902,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:903,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:904,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:905,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:906,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:907,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:908,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:909,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:910,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:911,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:912,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:913,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:914,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:915,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:916,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:917,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-api.c:918,1
    - Dst: getenv
      Src: /src/augeas/tests/test-api.c:920,1
    - Dst: die
      Src: /src/augeas/tests/test-api.c:922,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-api.c:924,1
    - Dst: die
      Src: /src/augeas/tests/test-api.c:925,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-api.c:928,1
    - Dst: die
      Src: /src/augeas/tests/test-api.c:929,1
    - Dst: CuSuiteRun
      Src: /src/augeas/tests/test-api.c:932,1
    - Dst: CuSuiteSummary
      Src: /src/augeas/tests/test-api.c:933,1
    - Dst: CuSuiteDetails
      Src: /src/augeas/tests/test-api.c:934,1
    - Dst: printf
      Src: /src/augeas/tests/test-api.c:935,1
    - Dst: free
      Src: /src/augeas/tests/test-api.c:936,1
    - Dst: CuSuiteFree
      Src: /src/augeas/tests/test-api.c:938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 893
    functionDepth: 3
    functionLinenumber: 893
    functionLinenumberEnd: 940
    functionName: main
    functionSourceFile: /src/augeas/tests/test-api.c
    functionUses: 0
    functionsReached:
    - CuSuiteSetup
    - CuSuiteFree
    - CuSuiteDetails
    - CuSuiteNew
    - die
    - asprintf
    - CuSuiteRun
    - CuSuiteSummary
    - printf
    - getenv
    - SUITE_ADD_TEST
    - free
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: die
    functionSourceFile: /src/augeas/tests/test-perf.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - start
    - ','
    - stop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: time_taken
    functionSourceFile: /src/augeas/tests/test-perf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: time_taken(start, stop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aug_init
      Src: /src/augeas/tests/test-perf.c:53,1
    - Dst: CuAssertPtrNotNull
      Src: /src/augeas/tests/test-perf.c:54,1
    - Dst: gettimeofday
      Src: /src/augeas/tests/test-perf.c:56,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-perf.c:59,1
    - Dst: die
      Src: /src/augeas/tests/test-perf.c:60,1
    - Dst: aug_set
      Src: /src/augeas/tests/test-perf.c:61,1
    - Dst: free
      Src: /src/augeas/tests/test-perf.c:62,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-perf.c:66,1
    - Dst: die
      Src: /src/augeas/tests/test-perf.c:67,1
    - Dst: aug_get
      Src: /src/augeas/tests/test-perf.c:68,1
    - Dst: CuAssertStrEquals
      Src: /src/augeas/tests/test-perf.c:69,1
    - Dst: free
      Src: /src/augeas/tests/test-perf.c:70,1
    - Dst: gettimeofday
      Src: /src/augeas/tests/test-perf.c:73,1
    - Dst: printf
      Src: /src/augeas/tests/test-perf.c:74,1
    - Dst: time_taken
      Src: /src/augeas/tests/test-perf.c:74,1
    - Dst: aug_close
      Src: /src/augeas/tests/test-perf.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tc
    argTypes:
    - CuTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: testPerfPredicate
    functionSourceFile: /src/augeas/tests/test-perf.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_close
    - aug_set
    - free
    - aug_init
    - asprintf
    - CuAssertStrEquals
    - printf
    - gettimeofday
    - time_taken
    - die
    - CuAssertPtrNotNull
    linkageType: ''
    returnType: void
    signature: void testPerfPredicate(CuTest *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CuSuiteNew
      Src: /src/augeas/tests/test-perf.c:81,1
    - Dst: CuSuiteSetup
      Src: /src/augeas/tests/test-perf.c:82,1
    - Dst: SUITE_ADD_TEST
      Src: /src/augeas/tests/test-perf.c:84,1
    - Dst: getenv
      Src: /src/augeas/tests/test-perf.c:86,1
    - Dst: die
      Src: /src/augeas/tests/test-perf.c:88,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-perf.c:90,1
    - Dst: die
      Src: /src/augeas/tests/test-perf.c:91,1
    - Dst: asprintf
      Src: /src/augeas/tests/test-perf.c:94,1
    - Dst: die
      Src: /src/augeas/tests/test-perf.c:95,1
    - Dst: CuSuiteRun
      Src: /src/augeas/tests/test-perf.c:98,1
    - Dst: CuSuiteSummary
      Src: /src/augeas/tests/test-perf.c:99,1
    - Dst: CuSuiteDetails
      Src: /src/augeas/tests/test-perf.c:100,1
    - Dst: printf
      Src: /src/augeas/tests/test-perf.c:101,1
    - Dst: free
      Src: /src/augeas/tests/test-perf.c:102,1
    - Dst: CuSuiteFree
      Src: /src/augeas/tests/test-perf.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/augeas/tests/test-perf.c
    functionUses: 0
    functionsReached:
    - CuSuiteSetup
    - CuSuiteFree
    - CuSuiteDetails
    - CuSuiteNew
    - die
    - asprintf
    - CuSuiteRun
    - CuSuiteSummary
    - printf
    - getenv
    - SUITE_ADD_TEST
    - free
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - tail
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: list_append
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_append(head, tail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iter
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_for_each(iter, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elt
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: list_remove
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_remove(elt, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - new
    - ','
    - elt
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: list_insert_before
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_insert_before(new, elt, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: list_free
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_free(list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - len
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: list_length
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_length(len, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: list_cons
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_cons(list, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: list_reverse
    functionSourceFile: /src/augeas/src/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_reverse(list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/augeas/src/ref.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptrptr
    - size
    - ref_ofs
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: ref_make_ref
    functionSourceFile: /src/augeas/src/ref.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: int
    signature: int ref_make_ref(void *ptrptr, size_t size, size_t ref_ofs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arr
    - ','
    - ind
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: array_elem
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: array_elem(arr, ind, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: array_for_each
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: array_for_each(i, arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - arr
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: array_each_elem
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: array_each_elem(elt, arr, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/jmt.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arr
    - elem_size
    argTypes:
    - struct array*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: array_init
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - MEMZERO
    linkageType: ''
    returnType: void
    signature: void array_init(struct array *arr, size_t elem_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_realloc_n
      Src: /src/augeas/src/jmt.c:84,1
    - Dst: memset
      Src: /src/augeas/src/jmt.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - ind
    argTypes:
    - struct array*
    - ind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: array_add
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - mem_realloc_n
    - memset
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK array_add(struct array *arr, ind_t *ind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:102,1
    - Dst: memmove
      Src: /src/augeas/src/jmt.c:108,1
    - Dst: memset
      Src: /src/augeas/src/jmt.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - ind
    argTypes:
    - struct array*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: array_insert
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - array_add
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK array_insert(struct array *arr, ind_t ind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/jmt.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arr
    argTypes:
    - struct array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: array_release
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void array_release(struct array *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/augeas/src/jmt.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arr
    - ind
    argTypes:
    - struct array*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: array_remove
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void array_remove(struct array *arr, ind_t ind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_realloc_n
      Src: /src/augeas/src/jmt.c:137,1
    - Dst: memcpy
      Src: /src/augeas/src/jmt.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct array*
    - struct array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: array_join
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - mem_realloc_n
    - memcpy
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK array_join(struct array *dst, struct array *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - it
    - ','
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: for_each_item
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_item(it, set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_trans(t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - parse
    - ','
    - ind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: parse_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_state(parse, ind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:249,1
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:250,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - parse
    - set
    - item
    argTypes:
    - struct jmt_parse*
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: set_item
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - ensure
    - array_elem
    linkageType: ''
    returnType: struct item
    signature: "struct item *set_item(struct jmt_parse *parse, ind_t set,\n                                 ind_t
      item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - parse
    - set
    - item
    argTypes:
    - struct jmt_parse*
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: item_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - set_item
    linkageType: ''
    returnType: struct state
    signature: "struct state *item_state(struct jmt_parse *parse, ind_t set,\n                                    ind_t
      item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - t
    argTypes:
    - struct state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: state_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_elem
    linkageType: ''
    returnType: struct trans
    signature: struct trans *state_trans(struct state *state, ind_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - parse
    - set
    - item
    argTypes:
    - struct jmt_parse*
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: item_parent
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - set_item
    linkageType: ''
    returnType: ind_t
    signature: ind_t item_parent(struct jmt_parse *parse, ind_t set, ind_t item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: is_return
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_return(const struct state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parse
    - lens
    argTypes:
    - struct jmt_parse*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: lens_of_parse
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_elem
    linkageType: ''
    returnType: struct lens
    signature: struct lens *lens_of_parse(struct jmt_parse *parse, ind_t lens)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:306,1
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:308,1
    - Dst: ALLOC
      Src: /src/augeas/src/jmt.c:312,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:313,1
    - Dst: array_init
      Src: /src/augeas/src/jmt.c:314,1
    - Dst: item_state
      Src: /src/augeas/src/jmt.c:319,1
    - Dst: item_parent
      Src: /src/augeas/src/jmt.c:320,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:322,1
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:328,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:329,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:331,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/jmt.c:344,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:345,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 10
    argNames:
    - parse
    - j
    - s
    - k
    - reason
    - lens
    - from_set
    - from_item
    - to_item
    - caller
    argTypes:
    - struct jmt_parse*
    - ind_t
    - struct state*
    - ind_t
    - enum item_reason
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 358
    functionName: parse_add_item
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    - ALLOC
    - ensure
    - array_add
    - item_parent
    - item_state
    - ERR_NOMEM
    - set_item
    - array_init
    linkageType: ''
    returnType: ind_t
    signature: "ind_t parse_add_item(struct jmt_parse *parse, ind_t j,\n                            struct
      state *s, ind_t k,\n                            enum item_reason reason, ind_t
      lens,\n                            ind_t from_set,\n                            ind_t
      from_item, ind_t to_item,\n                            ind_t caller)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_add_item
      Src: /src/augeas/src/jmt.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - parse
    - j
    - s
    - i
    - k
    - itemk
    - lens
    - item
    argTypes:
    - struct jmt_parse*
    - ind_t
    - struct state*
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: parse_add_complete
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - parse_add_item
    linkageType: ''
    returnType: void
    signature: "void parse_add_complete(struct jmt_parse *parse, ind_t j,\n                               struct
      state *s, ind_t i,\n                               ind_t k, ind_t itemk,\n                               ind_t
      lens,\n                               ind_t item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_add_item
      Src: /src/augeas/src/jmt.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - parse
    - j
    - s
    - i
    - k
    - itemk
    - lens
    - item
    - caller
    argTypes:
    - struct jmt_parse*
    - ind_t
    - struct state*
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: parse_add_predict_complete
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - parse_add_item
    linkageType: ''
    returnType: void
    signature: "void parse_add_predict_complete(struct jmt_parse *parse, ind_t j,\n
      \                                      struct state *s, ind_t i,\n                                       ind_t
      k, ind_t itemk,\n                                       ind_t lens,\n                                       ind_t
      item, ind_t caller)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:393,1
    - Dst: item_state
      Src: /src/augeas/src/jmt.c:394,1
    - Dst: parse_add_item
      Src: /src/augeas/src/jmt.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - parse
    - j
    - s
    - from
    argTypes:
    - struct jmt_parse*
    - ind_t
    - struct state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: parse_add_predict
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - ensure
    - item_state
    - parse_add_item
    linkageType: ''
    returnType: ind_t
    signature: "ind_t parse_add_predict(struct jmt_parse *parse, ind_t j,\n                               struct
      state *s, ind_t from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:410,1
    - Dst: parse_add_item
      Src: /src/augeas/src/jmt.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - parse
    - j
    - s
    - i
    - lens
    - k
    - item
    argTypes:
    - struct jmt_parse*
    - ind_t
    - struct state*
    - ind_t
    - ind_t
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: parse_add_scan
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - ensure
    - parse_add_item
    linkageType: ''
    returnType: void
    signature: "void parse_add_scan(struct jmt_parse *parse, ind_t j,\n                           struct
      state *s, ind_t i,\n                           ind_t lens, ind_t k, ind_t item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lnk
    argTypes:
    - struct link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: is_complete
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE is_complete(const struct link *lnk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lnk
    argTypes:
    - struct link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: is_predict
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE is_predict(const struct link *lnk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lnk
    argTypes:
    - struct link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: is_scan
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE is_scan(const struct link *lnk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/augeas/src/jmt.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lnk
    argTypes:
    - struct link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: is_last_sibling
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - is_complete
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE is_last_sibling(const struct link *lnk)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - struct state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: returns
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE returns(const struct state *s, ind_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: returns
      Src: /src/augeas/src/jmt.c:450,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/jmt.c:453,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - jmt
    - s
    - l
    argTypes:
    - struct jmt*
    - struct state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: state_add_return
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - returns
    - ERR_NOMEM
    - REALLOC_N
    linkageType: ''
    returnType: void
    signature: void state_add_return(struct jmt *jmt, struct state *s, ind_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state_add_return
      Src: /src/augeas/src/jmt.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - jmt
    - dst
    - src
    argTypes:
    - struct jmt*
    - struct state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: state_merge_returns
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - state_add_return
    linkageType: ''
    returnType: void
    signature: "void state_merge_returns(struct jmt *jmt, struct state *dst,\n                                const
      struct state *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: item_state
      Src: /src/augeas/src/jmt.c:471,1
    - Dst: returns
      Src: /src/augeas/src/jmt.c:473,1
    - Dst: item_parent
      Src: /src/augeas/src/jmt.c:474,1
    - Dst: parse_add_complete
      Src: /src/augeas/src/jmt.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - parse
    - j
    - t
    - k
    - item
    argTypes:
    - struct jmt_parse*
    - ind_t
    - struct state*
    - ind_t
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 467
    functionDepth: 5
    functionLinenumber: 467
    functionLinenumberEnd: 481
    functionName: nncomplete
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - returns
    - item_state
    - parse_add_complete
    - item_parent
    linkageType: ''
    returnType: void
    signature: "void nncomplete(struct jmt_parse *parse, ind_t j,\n                       struct
      state *t, ind_t k, ind_t item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: returns
      Src: /src/augeas/src/jmt.c:473,1
    - Dst: item_parent
      Src: /src/augeas/src/jmt.c:474,1
    - Dst: parse_add_complete
      Src: /src/augeas/src/jmt.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 5
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - returns
    - parse_add_complete
    - item_parent
    linkageType: ''
    returnType: void
    signature: void for_each_trans(y, u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: returns
      Src: /src/augeas/src/jmt.c:490,1
    - Dst: parse_add_predict_complete
      Src: /src/augeas/src/jmt.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - parse
    - j
    - item
    - t
    - i
    - s
    - pred
    argTypes:
    - struct jmt_parse*
    - ind_t
    - ind_t
    - struct state*
    - ind_t
    - struct state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 487
    functionDepth: 5
    functionLinenumber: 487
    functionLinenumberEnd: 498
    functionName: ncaller
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - returns
    - parse_add_predict_complete
    linkageType: ''
    returnType: void
    signature: "void ncaller(struct jmt_parse *parse, ind_t j, ind_t item,\n                    struct
      state *t, ind_t i, struct state *s, ind_t pred)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: returns
      Src: /src/augeas/src/jmt.c:490,1
    - Dst: parse_add_predict_complete
      Src: /src/augeas/src/jmt.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - returns
    - parse_add_predict_complete
    linkageType: ''
    returnType: void
    signature: void for_each_trans(u, t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: returns
      Src: /src/augeas/src/jmt.c:507,1
    - Dst: parse_add_predict_complete
      Src: /src/augeas/src/jmt.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - parse
    - j
    - ind_t
    - t
    - parent
    - s
    - pred
    argTypes:
    - struct jmt_parse*
    - ind_t
    - ATTRIBUTE_UNUSED
    - ATTRIBUTE_UNUSED*
    - ATTRIBUTE_UNUSED
    - struct state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 515
    functionName: ncallee
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - returns
    - parse_add_predict_complete
    linkageType: ''
    returnType: void
    signature: "void ncallee(struct jmt_parse *parse, ind_t j, ATTRIBUTE_UNUSED ind_t
      item,\n                    ATTRIBUTE_UNUSED struct state *t, ATTRIBUTE_UNUSED
      ind_t parent, struct state *s, ind_t pred)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: returns
      Src: /src/augeas/src/jmt.c:507,1
    - Dst: parse_add_predict_complete
      Src: /src/augeas/src/jmt.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - returns
    - parse_add_predict_complete
    linkageType: ''
    returnType: void
    signature: void for_each_trans(u, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/jmt.c:522,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:523,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/jmt.c:529,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:530,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:534,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - jmt
    - text
    - text_len
    argTypes:
    - struct jmt*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 537
    functionName: parse_init
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - free
    - ERR_NOMEM
    - ALLOC_N
    - ALLOC
    linkageType: ''
    returnType: struct jmt_parse
    signature: "struct jmt_parse *parse_init(struct jmt *jmt,\n                                    const
      char *text, size_t text_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: array_each_elem
      Src: /src/augeas/src/jmt.c:545,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:546,1
    - Dst: array_release
      Src: /src/augeas/src/jmt.c:547,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:548,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:551,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct jmt_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 553
    functionName: jmt_free_parse
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_each_elem
    - array_release
    - free
    linkageType: ''
    returnType: void
    signature: void jmt_free_parse(struct jmt_parse *parse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:559,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:561,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:563,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - l
    argTypes:
    - FILE*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: flens
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void flens(FILE *fp, ind_t l)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/augeas/src/jmt.c:571,1
    - Dst: is_scan
      Src: /src/augeas/src/jmt.c:571,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:572,1
    - Dst: xasprintf
      Src: /src/augeas/src/jmt.c:576,1
    - Dst: xasprintf
      Src: /src/augeas/src/jmt.c:578,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:580,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:584,1
    - Dst: is_complete
      Src: /src/augeas/src/jmt.c:586,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:587,1
    - Dst: is_predict
      Src: /src/augeas/src/jmt.c:588,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:589,1
    - Dst: is_predict
      Src: /src/augeas/src/jmt.c:592,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:593,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:595,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:599,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:600,1
    - Dst: flens
      Src: /src/augeas/src/jmt.c:604,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:605,1
    - Dst: is_scan
      Src: /src/augeas/src/jmt.c:606,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:608,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:609,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:614,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:615,1
    - Dst: is_predict
      Src: /src/augeas/src/jmt.c:617,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:619,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:620,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - fp
    - parse
    - k
    - x
    - lnk
    argTypes:
    - FILE*
    - struct jmt_parse*
    - ind_t
    - struct item*
    - struct link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 627
    functionName: parse_dot_link
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - fprintf
    - xasprintf
    - lens_state
    - free
    - is_complete
    - is_scan
    - is_predict
    - flens
    - set_item
    linkageType: ''
    returnType: void
    signature: "void parse_dot_link(FILE *fp, struct jmt_parse *parse,\n                           ind_t
      k, struct item *x, struct link *lnk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_fopen
      Src: /src/augeas/src/jmt.c:630,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:634,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:635,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:642,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:643,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:644,1
    - Dst: parse_dot_link
      Src: /src/augeas/src/jmt.c:648,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:651,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:653,1
    - Dst: fclose
      Src: /src/augeas/src/jmt.c:654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - parse
    - fname
    argTypes:
    - struct jmt_parse*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 655
    functionName: parse_dot
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - parse_dot_link
    - debug_fopen
    - fclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: void parse_dot(struct jmt_parse *parse, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_dot_link
      Src: /src/augeas/src/jmt.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 650
    functionName: for_each_item
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - parse_dot_link
    linkageType: ''
    returnType: void
    signature: void for_each_item(x, set)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: parse_init
      Src: /src/augeas/src/jmt.c:662,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:663,1
    - Dst: parse_add_item
      Src: /src/augeas/src/jmt.c:666,1
    - Dst: is_return
      Src: /src/augeas/src/jmt.c:669,1
    - Dst: for_each_trans
      Src: /src/augeas/src/jmt.c:670,1
    - Dst: returns
      Src: /src/augeas/src/jmt.c:671,1
    - Dst: parse_add_predict_complete
      Src: /src/augeas/src/jmt.c:672,1
    - Dst: item_state
      Src: /src/augeas/src/jmt.c:683,1
    - Dst: item_parent
      Src: /src/augeas/src/jmt.c:684,1
    - Dst: is_return
      Src: /src/augeas/src/jmt.c:686,1
    - Dst: nncomplete
      Src: /src/augeas/src/jmt.c:688,1
    - Dst: parse_add_predict
      Src: /src/augeas/src/jmt.c:694,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:695,1
    - Dst: is_return
      Src: /src/augeas/src/jmt.c:696,1
    - Dst: ncaller
      Src: /src/augeas/src/jmt.c:698,1
    - Dst: ncallee
      Src: /src/augeas/src/jmt.c:700,1
    - Dst: lens_of_parse
      Src: /src/augeas/src/jmt.c:704,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:705,1
    - Dst: regexp_match
      Src: /src/augeas/src/jmt.c:710,1
    - Dst: parse_add_scan
      Src: /src/augeas/src/jmt.c:712,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:721,1
    - Dst: parse_dot
      Src: /src/augeas/src/jmt.c:722,1
    - Dst: jmt_free_parse
      Src: /src/augeas/src/jmt.c:725,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - jmt
    - text
    - text_len
    argTypes:
    - struct jmt*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 657
    functionDepth: 6
    functionLinenumber: 657
    functionLinenumberEnd: 727
    functionName: jmt_parse
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - ncallee
    - jmt_free_parse
    - item_parent
    - ncaller
    - lens_of_parse
    - parse_init
    - lens_state
    - parse_add_predict_complete
    - regexp_match
    - returns
    - parse_add_scan
    - parse_add_predict
    - parse_add_item
    - is_return
    - item_state
    - for_each_trans
    - nncomplete
    - debugging
    - ERR_BAIL
    - parse_dot
    linkageType: ''
    returnType: struct jmt_parse
    signature: 'struct jmt_parse *

      jmt_parse(struct jmt *jmt, const char *text, size_t text_len)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_add_predict
      Src: /src/augeas/src/jmt.c:694,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:695,1
    - Dst: is_return
      Src: /src/augeas/src/jmt.c:696,1
    - Dst: ncaller
      Src: /src/augeas/src/jmt.c:698,1
    - Dst: ncallee
      Src: /src/augeas/src/jmt.c:700,1
    - Dst: lens_of_parse
      Src: /src/augeas/src/jmt.c:704,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:705,1
    - Dst: regexp_match
      Src: /src/augeas/src/jmt.c:710,1
    - Dst: parse_add_scan
      Src: /src/augeas/src/jmt.c:712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 718
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - parse_add_predict
    - ncallee
    - ERR_BAIL
    - lens_state
    - regexp_match
    - parse_add_scan
    - is_return
    - ncaller
    - lens_of_parse
    linkageType: ''
    returnType: void
    signature: void for_each_trans(x, t)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:739,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:744,1
    - Dst: build_nullable
      Src: /src/augeas/src/jmt.c:749,1
    - Dst: build_nullable
      Src: /src/augeas/src/jmt.c:753,1
    - Dst: build_nullable
      Src: /src/augeas/src/jmt.c:758,1
    - Dst: build_nullable
      Src: /src/augeas/src/jmt.c:763,1
    - Dst: BUG_ON
      Src: /src/augeas/src/jmt.c:769,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:774,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - parse
    - pos
    - visitor
    - lens
    - lvl
    argTypes:
    - struct jmt_parse*
    - ind_t
    - struct jmt_visitor*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 779
    functionName: build_nullable
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - BUG_ON
    - build_nullable
    - ERR_BAIL
    linkageType: ''
    returnType: void
    signature: "void build_nullable(struct jmt_parse *parse, ind_t pos,\n               struct
      jmt_visitor *visitor, struct lens *lens, int lvl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/augeas/src/jmt.c:783,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:785,1
    - Dst: is_complete
      Src: /src/augeas/src/jmt.c:788,1
    - Dst: is_predict
      Src: /src/augeas/src/jmt.c:789,1
    - Dst: is_scan
      Src: /src/augeas/src/jmt.c:790,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - msg
    - start
    - end
    - x
    - lvl
    argTypes:
    - char*
    - ind_t
    - ind_t
    - struct item*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 794
    functionName: build_trace
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - is_complete
    - printf
    - is_scan
    - is_predict
    - putc
    linkageType: ''
    returnType: void
    signature: "void build_trace(const char *msg, ind_t start, ind_t end,\n                        struct
      item *x, int lvl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:800,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - siblings
    - lnk
    argTypes:
    - struct array*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: add_sibling
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_add
    - array_elem
    linkageType: ''
    returnType: int
    signature: int add_sibling(struct array *siblings, ind_t lnk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_predict
      Src: /src/augeas/src/jmt.c:818,1
    - Dst: is_complete
      Src: /src/augeas/src/jmt.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - x
    - lnk
    - caller
    argTypes:
    - struct item*
    - struct link*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 828
    functionName: is_caller
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - is_complete
    - is_predict
    linkageType: ''
    returnType: bool
    signature: bool is_caller(struct item *x, struct link *lnk, ind_t caller)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:844,1
    - Dst: is_last_sibling
      Src: /src/augeas/src/jmt.c:849,1
    - Dst: is_caller
      Src: /src/augeas/src/jmt.c:857,1
    - Dst: add_sibling
      Src: /src/augeas/src/jmt.c:859,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/jmt.c:861,1
    - Dst: filter_siblings
      Src: /src/augeas/src/jmt.c:873,1
    - Dst: add_sibling
      Src: /src/augeas/src/jmt.c:890,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/jmt.c:892,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 6
    argNames:
    - visitor
    - lens
    - k
    - item
    - caller
    - siblings
    argTypes:
    - struct jmt_visitor*
    - struct lens*
    - ind_t
    - ind_t
    - ind_t
    - struct array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 903
    functionName: filter_siblings
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - is_caller
    - is_last_sibling
    - ERR_REPORT
    - filter_siblings
    - set_item
    - add_sibling
    linkageType: ''
    returnType: int
    signature: "int filter_siblings(struct jmt_visitor *visitor, struct lens *lens,\n
      \                         ind_t k, ind_t item, ind_t caller,\n                          struct
      array *siblings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:908,1
    - Dst: build_trace
      Src: /src/augeas/src/jmt.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - visitor
    - lens
    - start
    - end
    - x
    - lvl
    argTypes:
    - struct jmt_visitor*
    - struct lens*
    - size_t
    - size_t
    - struct item*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 912
    functionName: visit_enter
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - debugging
    - build_trace
    linkageType: ''
    returnType: void
    signature: "void visit_enter(struct jmt_visitor *visitor, struct lens *lens,\n
      \                       size_t start, size_t end,\n                        struct
      item *x, int lvl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:917,1
    - Dst: build_trace
      Src: /src/augeas/src/jmt.c:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - visitor
    - lens
    - start
    - end
    - x
    - lvl
    argTypes:
    - struct jmt_visitor*
    - struct lens*
    - size_t
    - size_t
    - struct item*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 921
    functionName: visit_exit
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - debugging
    - build_trace
    linkageType: ''
    returnType: void
    signature: "void visit_exit(struct jmt_visitor *visitor, struct lens *lens,\n
      \                      size_t start, size_t end,\n                       struct
      item *x, int lvl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:930,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:939,1
    - Dst: build_trace
      Src: /src/augeas/src/jmt.c:940,1
    - Dst: build_nullable
      Src: /src/augeas/src/jmt.c:941,1
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:945,1
    - Dst: is_complete
      Src: /src/augeas/src/jmt.c:945,1
    - Dst: visit_enter
      Src: /src/augeas/src/jmt.c:947,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:948,1
    - Dst: is_predict
      Src: /src/augeas/src/jmt.c:952,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:954,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:958,1
    - Dst: build_children
      Src: /src/augeas/src/jmt.c:959,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:960,1
    - Dst: visit_exit
      Src: /src/augeas/src/jmt.c:963,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - parse
    - k
    - item
    - lens
    - visitor
    - lvl
    argTypes:
    - struct jmt_parse*
    - ind_t
    - ind_t
    - struct lens*
    - struct jmt_visitor*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 927
    functionDepth: 2
    functionLinenumber: 927
    functionLinenumberEnd: 967
    functionName: build_tree
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - visit_exit
    - debugging
    - build_children
    - ERR_BAIL
    - ensure
    - is_complete
    - build_nullable
    - is_predict
    - visit_enter
    - set_item
    - build_trace
    linkageType: ''
    returnType: int
    signature: "int build_tree(struct jmt_parse *parse, ind_t k, ind_t item, struct
      lens *lens,\n           struct jmt_visitor *visitor, int lvl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:972,1
    - Dst: lens_of_parse
      Src: /src/augeas/src/jmt.c:973,1
    - Dst: array_init
      Src: /src/augeas/src/jmt.c:978,1
    - Dst: filter_siblings
      Src: /src/augeas/src/jmt.c:979,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:987,1
    - Dst: lens_of_parse
      Src: /src/augeas/src/jmt.c:988,1
    - Dst: build_tree
      Src: /src/augeas/src/jmt.c:990,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:991,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:993,1
    - Dst: build_trace
      Src: /src/augeas/src/jmt.c:994,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:998,1
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:1003,1
    - Dst: array_release
      Src: /src/augeas/src/jmt.c:1006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 6
    argNames:
    - parse
    - k
    - item
    - visitor
    - lvl
    - caller
    argTypes:
    - struct jmt_parse*
    - ind_t
    - ind_t
    - struct jmt_visitor*
    - int
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 969
    functionDepth: 4
    functionLinenumber: 969
    functionLinenumberEnd: 1008
    functionName: build_children
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - build_tree
    - array_release
    - debugging
    - ERR_BAIL
    - array_elem
    - filter_siblings
    - lens_of_parse
    - set_item
    - array_init
    - build_trace
    linkageType: ''
    returnType: int
    signature: "int build_children(struct jmt_parse *parse, ind_t k, ind_t item,\n
      \              struct jmt_visitor *visitor, int lvl, ind_t caller)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_item
      Src: /src/augeas/src/jmt.c:1020,1
    - Dst: returns
      Src: /src/augeas/src/jmt.c:1021,1
    - Dst: is_complete
      Src: /src/augeas/src/jmt.c:1023,1
    - Dst: is_scan
      Src: /src/augeas/src/jmt.c:1023,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:1024,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1025,1
    - Dst: lens_of_parse
      Src: /src/augeas/src/jmt.c:1035,1
    - Dst: visit_enter
      Src: /src/augeas/src/jmt.c:1037,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1038,1
    - Dst: build_children
      Src: /src/augeas/src/jmt.c:1040,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1042,1
    - Dst: visit_exit
      Src: /src/augeas/src/jmt.c:1044,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1045,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - visitor
    - len
    argTypes:
    - struct jmt_visitor*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1010
    functionDepth: 5
    functionLinenumber: 1010
    functionLinenumberEnd: 1054
    functionName: jmt_visit
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - visit_exit
    - debugging
    - build_children
    - ERR_BAIL
    - is_complete
    - printf
    - is_scan
    - returns
    - visit_enter
    - lens_of_parse
    - set_item
    linkageType: ''
    returnType: int
    signature: int jmt_visit(struct jmt_visitor *visitor, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/jmt.c:1065,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1066,1
    - Dst: array_init
      Src: /src/augeas/src/jmt.c:1068,1
    - Dst: list_cons
      Src: /src/augeas/src/jmt.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - jmt
    argTypes:
    - struct jmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1076
    functionName: make_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - list_cons
    - array_init
    - ERR_NOMEM
    - ALLOC
    linkageType: ''
    returnType: struct state
    signature: struct state *make_state(struct jmt *jmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:1084,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1085,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1086,1
    - Dst: regexp_matches_empty
      Src: /src/augeas/src/jmt.c:1089,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1091,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1095,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1096,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1097,1
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:1102,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1103,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1104,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1106,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:1110,1
    - Dst: format_lens
      Src: /src/augeas/src/jmt.c:1112,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1113,1
    - Dst: print_regexp
      Src: /src/augeas/src/jmt.c:1114,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1115,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:1116,1
    - Dst: format_lens
      Src: /src/augeas/src/jmt.c:1118,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1119,1
    - Dst: flens
      Src: /src/augeas/src/jmt.c:1120,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1121,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1123,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:1125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - jmt
    - lens
    argTypes:
    - struct jmt*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1132
    functionName: add_lens
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - regexp_matches_empty
    - print_regexp
    - make_state
    - debugging
    - array_add
    - array_elem
    - format_lens
    - printf
    - flens
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: ind_t
    signature: ind_t add_lens(struct jmt *jmt, struct lens *lens)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:1144,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1145,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - jmt
    - from
    - to
    - lens
    argTypes:
    - struct jmt*
    - struct state*
    - struct state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1152
    functionName: add_new_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - ERR_NOMEM
    - array_add
    - array_elem
    linkageType: ''
    returnType: struct trans
    signature: "struct trans *\nadd_new_trans(struct jmt *jmt,\n              struct
      state *from, struct state *to, ind_t lens)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - jmt
    - from
    - to
    argTypes:
    - struct jmt*
    - struct state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1157
    functionName: add_eps_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - add_new_trans
    linkageType: ''
    returnType: struct trans
    signature: 'struct trans *

      add_eps_trans(struct jmt *jmt, struct state *from, struct state *to)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - jmt
    - l
    argTypes:
    - struct jmt*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1161
    functionName: lens_of_jmt
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_elem
    linkageType: ''
    returnType: struct lens
    signature: struct lens *lens_of_jmt(struct jmt *jmt, ind_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_for_each
      Src: /src/augeas/src/jmt.c:1164,1
    - Dst: lens_of_jmt
      Src: /src/augeas/src/jmt.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - jmt
    - lens
    argTypes:
    - struct jmt*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 1168
    functionName: lens_index
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - lens_of_jmt
    - array_for_each
    linkageType: ''
    returnType: ind_t
    signature: ind_t lens_index(struct jmt *jmt, struct lens *lens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - jmt
    - l
    argTypes:
    - struct jmt*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: lens_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 3
    functionsReached:
    - array_elem
    linkageType: ''
    returnType: struct state
    signature: struct state *lens_state(struct jmt *jmt, ind_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lens_index
      Src: /src/augeas/src/jmt.c:1175,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:1176,1
    - Dst: print_regexp
      Src: /src/augeas/src/jmt.c:1179,1
    - Dst: flens
      Src: /src/augeas/src/jmt.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fp
    - jmt
    - lens
    argTypes:
    - FILE*
    - struct jmt*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: print_lens_symbol
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - print_regexp
    - lens_index
    - flens
    - lens_state
    linkageType: ''
    returnType: void
    signature: void print_lens_symbol(FILE *fp, struct jmt *jmt, struct lens *lens)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lens_index
      Src: /src/augeas/src/jmt.c:1185,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:1186,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1191,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1192,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1193,1
    - Dst: print_regexp
      Src: /src/augeas/src/jmt.c:1197,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1198,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1204,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1206,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1207,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1209,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1211,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1214,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1216,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1217,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1219,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1221,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1224,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1225,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1226,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1229,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1230,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1231,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1234,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1235,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1236,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1239,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1240,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1241,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1244,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1245,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1246,1
    - Dst: BUG_ON
      Src: /src/augeas/src/jmt.c:1249,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - jmt
    - lens
    argTypes:
    - struct jmt*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1184
    functionDepth: 4
    functionLinenumber: 1184
    functionLinenumberEnd: 1254
    functionName: print_grammar
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - print_lens_symbol
    - print_regexp
    - lens_state
    - lens_index
    - printf
    - BUG_ON
    - print_grammar
    linkageType: ''
    returnType: void
    signature: void print_grammar(struct jmt *jmt, struct lens *lens)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1257,1
    - Dst: print_grammar
      Src: /src/augeas/src/jmt.c:1258,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1260,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1261,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1262,1
    - Dst: print_lens_symbol
      Src: /src/augeas/src/jmt.c:1263,1
    - Dst: printf
      Src: /src/augeas/src/jmt.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - jmt
    - lens
    argTypes:
    - struct jmt*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 5
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: print_grammar_top
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - print_lens_symbol
    - printf
    - print_grammar
    linkageType: ''
    returnType: void
    signature: void print_grammar_top(struct jmt *jmt, struct lens *lens)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lens_index
      Src: /src/augeas/src/jmt.c:1271,1
    - Dst: add_lens
      Src: /src/augeas/src/jmt.c:1273,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1274,1
    - Dst: index_lenses
      Src: /src/augeas/src/jmt.c:1284,1
    - Dst: index_lenses
      Src: /src/augeas/src/jmt.c:1290,1
    - Dst: index_lenses
      Src: /src/augeas/src/jmt.c:1294,1
    - Dst: BUG_ON
      Src: /src/augeas/src/jmt.c:1297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - jmt
    - lens
    argTypes:
    - struct jmt*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1302
    functionName: index_lenses
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - ERR_BAIL
    - add_lens
    - lens_index
    - index_lenses
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: void index_lenses(struct jmt *jmt, struct lens *lens)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lens_index
      Src: /src/augeas/src/jmt.c:1306,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:1307,1
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:1308,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1310,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1311,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1312,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1316,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1317,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1320,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1323,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1324,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - jmt
    - lens
    - s
    - f
    argTypes:
    - struct jmt*
    - struct lens*
    - struct state**
    - struct state**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1329
    functionName: thompson
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - make_state
    - ERR_BAIL
    - lens_state
    - ensure
    - add_new_trans
    - lens_index
    linkageType: ''
    returnType: void
    signature: "void thompson(struct jmt *jmt, struct lens *lens,\n                     struct
      state **s, struct state **f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lens_index
      Src: /src/augeas/src/jmt.c:1334,1
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:1335,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:1336,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1344,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1345,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1346,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1347,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1348,1
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:1349,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1350,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1351,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1354,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1355,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1356,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1357,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1358,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1361,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1362,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1363,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1364,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1365,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1366,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 5
    argNames:
    - jmt
    - lens
    - s
    - e
    - f
    argTypes:
    - struct jmt*
    - struct lens*
    - struct state**
    - struct state**
    - struct state**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1331
    functionDepth: 3
    functionLinenumber: 1331
    functionLinenumberEnd: 1371
    functionName: conv
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - make_state
    - ERR_BAIL
    - lens_state
    - ensure
    - add_new_trans
    - lens_index
    linkageType: ''
    returnType: void
    signature: "void conv(struct jmt *jmt, struct lens *lens,\n                 struct
      state **s, struct state **e,\n                 struct state **f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1378,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1379,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1380,1
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1384,1
    - Dst: thompson
      Src: /src/augeas/src/jmt.c:1385,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1386,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1387,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1388,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1389,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1390,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1391,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1392,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - jmt
    - lens
    - s
    - e
    - f
    argTypes:
    - struct jmt*
    - struct lens*
    - struct state**
    - struct state**
    - struct state**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1373
    functionDepth: 4
    functionLinenumber: 1373
    functionLinenumberEnd: 1399
    functionName: conv_concat
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - conv
    - make_state
    - ERR_BAIL
    - add_new_trans
    - add_eps_trans
    - thompson
    linkageType: ''
    returnType: void
    signature: "void conv_concat(struct jmt *jmt, struct lens *lens,\n                        struct
      state **s, struct state **e,\n                        struct state **f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1405,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1406,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1407,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1408,1
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1413,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1414,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1416,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1417,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - jmt
    - lens
    - s
    - e
    - f
    argTypes:
    - struct jmt*
    - struct lens*
    - struct state**
    - struct state**
    - struct state**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1401
    functionDepth: 4
    functionLinenumber: 1401
    functionLinenumberEnd: 1423
    functionName: conv_union
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - make_state
    - conv
    - ERR_BAIL
    - add_eps_trans
    linkageType: ''
    returnType: void
    signature: "void conv_union(struct jmt *jmt, struct lens *lens,\n                        struct
      state **s, struct state **e,\n                        struct state **f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1429,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1430,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1431,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1432,1
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1435,1
    - Dst: thompson
      Src: /src/augeas/src/jmt.c:1436,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1437,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1439,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1440,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1441,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1442,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1443,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1444,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1445,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1446,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 5
    argNames:
    - jmt
    - lens
    - s
    - e
    - f
    argTypes:
    - struct jmt*
    - struct lens*
    - struct state**
    - struct state**
    - struct state**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1425
    functionDepth: 4
    functionLinenumber: 1425
    functionLinenumberEnd: 1451
    functionName: conv_star
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - conv
    - make_state
    - ERR_BAIL
    - add_eps_trans
    - thompson
    linkageType: ''
    returnType: void
    signature: "void conv_star(struct jmt *jmt, struct lens *lens,\n                      struct
      state **s, struct state **e,\n                      struct state **f)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lens_of_jmt
      Src: /src/augeas/src/jmt.c:1454,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:1456,1
    - Dst: state_add_return
      Src: /src/augeas/src/jmt.c:1461,1
    - Dst: state_add_return
      Src: /src/augeas/src/jmt.c:1469,1
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1473,1
    - Dst: conv_concat
      Src: /src/augeas/src/jmt.c:1476,1
    - Dst: conv_union
      Src: /src/augeas/src/jmt.c:1479,1
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1482,1
    - Dst: conv_star
      Src: /src/augeas/src/jmt.c:1485,1
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1488,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1489,1
    - Dst: conv
      Src: /src/augeas/src/jmt.c:1492,1
    - Dst: BUG_ON
      Src: /src/augeas/src/jmt.c:1495,1
    - Dst: ensure
      Src: /src/augeas/src/jmt.c:1498,1
    - Dst: add_eps_trans
      Src: /src/augeas/src/jmt.c:1500,1
    - Dst: state_add_return
      Src: /src/augeas/src/jmt.c:1501,1
    - Dst: state_add_return
      Src: /src/augeas/src/jmt.c:1502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - jmt
    - l
    argTypes:
    - struct jmt*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1453
    functionDepth: 5
    functionLinenumber: 1453
    functionLinenumberEnd: 1506
    functionName: conv_rhs
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - conv_concat
    - lens_of_jmt
    - conv
    - conv_star
    - conv_union
    - lens_state
    - add_new_trans
    - ensure
    - add_eps_trans
    - state_add_return
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: void conv_rhs(struct jmt *jmt, ind_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:1513,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - worklist
    - s
    argTypes:
    - struct array*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1518
    functionName: push_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_add
    - array_elem
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK push_state(struct array *worklist, struct state
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - worklist
    argTypes:
    - struct array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1527
    functionName: pop_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_elem
    linkageType: ''
    returnType: struct state
    signature: struct state *pop_state(struct array *worklist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/jmt.c:1532,1
    - Dst: array_release
      Src: /src/augeas/src/jmt.c:1533,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1535
    functionName: free_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_release
    - free
    linkageType: ''
    returnType: void
    signature: void free_state(struct state *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/jmt.c:1543,1
    - Dst: array_init
      Src: /src/augeas/src/jmt.c:1549,1
    - Dst: pop_state
      Src: /src/augeas/src/jmt.c:1553,1
    - Dst: push_state
      Src: /src/augeas/src/jmt.c:1557,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1558,1
    - Dst: list_for_each
      Src: /src/augeas/src/jmt.c:1563,1
    - Dst: is_return
      Src: /src/augeas/src/jmt.c:1564,1
    - Dst: list_for_each
      Src: /src/augeas/src/jmt.c:1570,1
    - Dst: list_for_each
      Src: /src/augeas/src/jmt.c:1583,1
    - Dst: state_trans
      Src: /src/augeas/src/jmt.c:1586,1
    - Dst: array_remove
      Src: /src/augeas/src/jmt.c:1588,1
    - Dst: free_state
      Src: /src/augeas/src/jmt.c:1603,1
    - Dst: array_release
      Src: /src/augeas/src/jmt.c:1609,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 1
    argNames:
    - jmt
    argTypes:
    - struct jmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1611
    functionName: collect
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - pop_state
    - array_release
    - free_state
    - array_remove
    - list_for_each
    - state_trans
    - is_return
    - ERR_NOMEM
    - array_init
    - push_state
    linkageType: ''
    returnType: void
    signature: void collect(struct jmt *jmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_state
      Src: /src/augeas/src/jmt.c:1557,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1554
    functionDepth: 3
    functionLinenumber: 1554
    functionLinenumberEnd: 1560
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - ERR_NOMEM
    - push_state
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1578
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_for_each
      Src: /src/augeas/src/jmt.c:1614,1
    - Dst: state_trans
      Src: /src/augeas/src/jmt.c:1615,1
    - Dst: state_trans
      Src: /src/augeas/src/jmt.c:1617,1
    - Dst: array_remove
      Src: /src/augeas/src/jmt.c:1619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1613
    functionDepth: 2
    functionLinenumber: 1613
    functionLinenumberEnd: 1624
    functionName: dedup
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - state_trans
    - array_remove
    - array_for_each
    linkageType: ''
    returnType: void
    signature: void dedup(struct state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:1629,1
    - Dst: jmt_dot
      Src: /src/augeas/src/jmt.c:1630,1
    - Dst: collect
      Src: /src/augeas/src/jmt.c:1631,1
    - Dst: list_for_each
      Src: /src/augeas/src/jmt.c:1637,1
    - Dst: array_for_each
      Src: /src/augeas/src/jmt.c:1638,1
    - Dst: state_trans
      Src: /src/augeas/src/jmt.c:1639,1
    - Dst: array_remove
      Src: /src/augeas/src/jmt.c:1642,1
    - Dst: array_join
      Src: /src/augeas/src/jmt.c:1643,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1644,1
    - Dst: state_merge_returns
      Src: /src/augeas/src/jmt.c:1645,1
    - Dst: dedup
      Src: /src/augeas/src/jmt.c:1646,1
    - Dst: collect
      Src: /src/augeas/src/jmt.c:1653,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:1654,1
    - Dst: jmt_dot
      Src: /src/augeas/src/jmt.c:1655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - jmt
    argTypes:
    - struct jmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1626
    functionDepth: 3
    functionLinenumber: 1626
    functionLinenumberEnd: 1658
    functionName: unepsilon
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - dedup
    - state_merge_returns
    - collect
    - jmt_dot
    - debugging
    - array_remove
    - list_for_each
    - array_for_each
    - array_join
    - ERR_NOMEM
    - state_trans
    linkageType: ''
    returnType: void
    signature: void unepsilon(struct jmt *jmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/jmt.c:1661,1
    - Dst: array_for_each
      Src: /src/augeas/src/jmt.c:1662,1
    - Dst: state_trans
      Src: /src/augeas/src/jmt.c:1663,1
    - Dst: state_trans
      Src: /src/augeas/src/jmt.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - jmt
    argTypes:
    - struct jmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1672
    functionName: is_deterministic
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - state_trans
    - list_for_each
    - array_for_each
    linkageType: ''
    returnType: bool
    signature: bool is_deterministic(struct jmt *jmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_release
      Src: /src/augeas/src/jmt.c:1677,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:1678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct nfa_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1679
    functionName: free_nfa_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_release
    - free
    linkageType: ''
    returnType: void
    signature: void free_nfa_state(struct nfa_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/jmt.c:1685,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1686,1
    - Dst: array_init
      Src: /src/augeas/src/jmt.c:1688,1
    - Dst: FREE
      Src: /src/augeas/src/jmt.c:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - jmt
    argTypes:
    - struct jmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1694
    functionName: make_nfa_state
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_init
    - ERR_NOMEM
    - FREE
    - ALLOC
    linkageType: ''
    returnType: struct nfa_state
    signature: struct nfa_state *make_nfa_state(struct jmt *jmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: array_for_each
      Src: /src/augeas/src/jmt.c:1701,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1702,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1710,1
    - Dst: array_insert
      Src: /src/augeas/src/jmt.c:1715,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1716,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - jmt
    - nfa
    - s
    argTypes:
    - struct jmt*
    - struct nfa_state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1696
    functionDepth: 3
    functionLinenumber: 1696
    functionLinenumberEnd: 1722
    functionName: nfa_state_add
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_insert
    - ERR_NOMEM
    - array_elem
    - array_for_each
    linkageType: ''
    returnType: ind_t
    signature: "ind_t nfa_state_add(struct jmt *jmt, struct nfa_state *nfa,\n                           struct
      state *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: array_for_each
      Src: /src/augeas/src/jmt.c:1728,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1729,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - struct nfa_state*
    - struct nfa_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1736
    functionName: nfa_same_set
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - array_elem
    - array_for_each
    linkageType: ''
    returnType: bool
    signature: bool nfa_same_set(struct nfa_state *s1, struct nfa_state *s2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: array_each_elem
      Src: /src/augeas/src/jmt.c:1743,1
    - Dst: nfa_same_set
      Src: /src/augeas/src/jmt.c:1744,1
    - Dst: free_nfa_state
      Src: /src/augeas/src/jmt.c:1747,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1753,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1754,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1757,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1758,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - jmt
    - newstates
    - s
    argTypes:
    - struct jmt*
    - struct array*
    - struct nfa_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1738
    functionDepth: 2
    functionLinenumber: 1738
    functionLinenumberEnd: 1769
    functionName: nfa_uniq
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - nfa_same_set
    - make_state
    - ERR_BAIL
    - free_nfa_state
    - array_elem
    - array_each_elem
    - ERR_NOMEM
    linkageType: ''
    returnType: struct nfa_state
    signature: "struct nfa_state *nfa_uniq(struct jmt *jmt, struct array *newstates,\n
      \                                 struct nfa_state *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: array_each_elem
      Src: /src/augeas/src/jmt.c:1775,1
    - Dst: for_each_trans
      Src: /src/augeas/src/jmt.c:1776,1
    - Dst: make_nfa_state
      Src: /src/augeas/src/jmt.c:1779,1
    - Dst: ERR_RET
      Src: /src/augeas/src/jmt.c:1780,1
    - Dst: nfa_state_add
      Src: /src/augeas/src/jmt.c:1782,1
    - Dst: ERR_RET
      Src: /src/augeas/src/jmt.c:1783,1
    - Dst: nfa_uniq
      Src: /src/augeas/src/jmt.c:1789,1
    - Dst: ERR_RET
      Src: /src/augeas/src/jmt.c:1790,1
    - Dst: add_new_trans
      Src: /src/augeas/src/jmt.c:1791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - jmt
    - newstates
    - nfas
    - l
    argTypes:
    - struct jmt*
    - struct array*
    - struct nfa_state*
    - ind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1771
    functionDepth: 4
    functionLinenumber: 1771
    functionLinenumberEnd: 1793
    functionName: det_target
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - for_each_trans
    - nfa_uniq
    - add_new_trans
    - ERR_RET
    - array_each_elem
    - nfa_state_add
    - make_nfa_state
    linkageType: ''
    returnType: void
    signature: "void det_target(struct jmt *jmt, struct array *newstates,\n                       struct
      nfa_state *nfas, ind_t l)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_deterministic
      Src: /src/augeas/src/jmt.c:1801,1
    - Dst: ALLOC
      Src: /src/augeas/src/jmt.c:1804,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1805,1
    - Dst: array_init
      Src: /src/augeas/src/jmt.c:1806,1
    - Dst: make_nfa_state
      Src: /src/augeas/src/jmt.c:1811,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1812,1
    - Dst: nfa_state_add
      Src: /src/augeas/src/jmt.c:1813,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1814,1
    - Dst: make_state
      Src: /src/augeas/src/jmt.c:1817,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1819,1
    - Dst: array_add
      Src: /src/augeas/src/jmt.c:1824,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1825,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1827,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1831,1
    - Dst: array_elem
      Src: /src/augeas/src/jmt.c:1834,1
    - Dst: state_merge_returns
      Src: /src/augeas/src/jmt.c:1835,1
    - Dst: det_target
      Src: /src/augeas/src/jmt.c:1839,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1840,1
    - Dst: det_target
      Src: /src/augeas/src/jmt.c:1842,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1843,1
    - Dst: collect
      Src: /src/augeas/src/jmt.c:1846,1
    - Dst: array_each_elem
      Src: /src/augeas/src/jmt.c:1850,1
    - Dst: free_nfa_state
      Src: /src/augeas/src/jmt.c:1851,1
    - Dst: FREE
      Src: /src/augeas/src/jmt.c:1854,1
    - Dst: free_nfa_state
      Src: /src/augeas/src/jmt.c:1856,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - jmt
    argTypes:
    - struct jmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1795
    functionDepth: 5
    functionLinenumber: 1795
    functionLinenumberEnd: 1860
    functionName: determinize
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - state_merge_returns
    - is_deterministic
    - make_state
    - collect
    - FREE
    - det_target
    - ERR_BAIL
    - array_add
    - array_elem
    - free_nfa_state
    - array_each_elem
    - nfa_state_add
    - ERR_NOMEM
    - make_nfa_state
    - array_init
    linkageType: ''
    returnType: void
    signature: void determinize(struct jmt *jmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/jmt.c:1866,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/jmt.c:1867,1
    - Dst: array_init
      Src: /src/augeas/src/jmt.c:1870,1
    - Dst: index_lenses
      Src: /src/augeas/src/jmt.c:1872,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:1874,1
    - Dst: print_grammar_top
      Src: /src/augeas/src/jmt.c:1875,1
    - Dst: conv_rhs
      Src: /src/augeas/src/jmt.c:1878,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1879,1
    - Dst: unepsilon
      Src: /src/augeas/src/jmt.c:1882,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1883,1
    - Dst: determinize
      Src: /src/augeas/src/jmt.c:1885,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/jmt.c:1886,1
    - Dst: debugging
      Src: /src/augeas/src/jmt.c:1888,1
    - Dst: jmt_dot
      Src: /src/augeas/src/jmt.c:1889,1
    - Dst: jmt_free
      Src: /src/augeas/src/jmt.c:1893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - lens
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1862
    functionDepth: 6
    functionLinenumber: 1862
    functionLinenumberEnd: 1895
    functionName: jmt_build
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - unepsilon
    - jmt_free
    - jmt_dot
    - debugging
    - determinize
    - ERR_BAIL
    - conv_rhs
    - print_grammar_top
    - index_lenses
    - ERR_NOMEM
    - array_init
    linkageType: ''
    returnType: struct jmt
    signature: struct jmt *jmt_build(struct lens *lens)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_release
      Src: /src/augeas/src/jmt.c:1900,1
    - Dst: free_state
      Src: /src/augeas/src/jmt.c:1905,1
    - Dst: free
      Src: /src/augeas/src/jmt.c:1907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - jmt
    argTypes:
    - struct jmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1908
    functionName: jmt_free
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 1
    functionsReached:
    - array_release
    - free_state
    - free
    linkageType: ''
    returnType: void
    signature: void jmt_free(struct jmt *jmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debug_fopen
      Src: /src/augeas/src/jmt.c:1911,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1915,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1916,1
    - Dst: list_for_each
      Src: /src/augeas/src/jmt.c:1917,1
    - Dst: is_return
      Src: /src/augeas/src/jmt.c:1918,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1919,1
    - Dst: flens
      Src: /src/augeas/src/jmt.c:1921,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1923,1
    - Dst: flens
      Src: /src/augeas/src/jmt.c:1924,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1926,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1929,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1931,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1933,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:1934,1
    - Dst: lens_of_jmt
      Src: /src/augeas/src/jmt.c:1935,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1936,1
    - Dst: print_regexp
      Src: /src/augeas/src/jmt.c:1937,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1938,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1940,1
    - Dst: flens
      Src: /src/augeas/src/jmt.c:1941,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1942,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1946,1
    - Dst: fclose
      Src: /src/augeas/src/jmt.c:1947,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - jmt
    - fname
    argTypes:
    - struct jmt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1910
    functionDepth: 2
    functionLinenumber: 1910
    functionLinenumberEnd: 1948
    functionName: jmt_dot
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 2
    functionsReached:
    - lens_of_jmt
    - fprintf
    - print_regexp
    - debug_fopen
    - lens_state
    - fclose
    - list_for_each
    - is_return
    - flens
    linkageType: ''
    returnType: void
    signature: void jmt_dot(struct jmt *jmt, const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1929,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1931,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1933,1
    - Dst: lens_state
      Src: /src/augeas/src/jmt.c:1934,1
    - Dst: lens_of_jmt
      Src: /src/augeas/src/jmt.c:1935,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1936,1
    - Dst: print_regexp
      Src: /src/augeas/src/jmt.c:1937,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1938,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1940,1
    - Dst: flens
      Src: /src/augeas/src/jmt.c:1941,1
    - Dst: fprintf
      Src: /src/augeas/src/jmt.c:1942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1928
    functionDepth: 2
    functionLinenumber: 1928
    functionLinenumberEnd: 1944
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/jmt.c
    functionUses: 2
    functionsReached:
    - lens_of_jmt
    - fprintf
    - print_regexp
    - lens_state
    - flens
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewChild
      Src: /src/augeas/src/xml.c:38,1
    - Dst: xmlSetProp
      Src: /src/augeas/src/xml.c:42,1
    - Dst: xasprintf
      Src: /src/augeas/src/xml.c:47,1
    - Dst: xmlSetProp
      Src: /src/augeas/src/xml.c:51,1
    - Dst: FREE
      Src: /src/augeas/src/xml.c:52,1
    - Dst: xasprintf
      Src: /src/augeas/src/xml.c:57,1
    - Dst: xmlSetProp
      Src: /src/augeas/src/xml.c:61,1
    - Dst: FREE
      Src: /src/augeas/src/xml.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - elem
    - pfor
    - start
    - end
    argTypes:
    - xmlNodePtr
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: to_xml_span
    functionSourceFile: /src/augeas/src/xml.c
    functionUses: 0
    functionsReached:
    - xmlNewChild
    - xmlSetProp
    - FREE
    - xasprintf
    linkageType: ''
    returnType: int
    signature: int to_xml_span(xmlNodePtr elem, const char *pfor, int start, int end)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xmlSetProp
      Src: /src/augeas/src/xml.c:75,1
    - Dst: xmlSetProp
      Src: /src/augeas/src/xml.c:82,1
    - Dst: to_xml_span
      Src: /src/augeas/src/xml.c:87,1
    - Dst: to_xml_span
      Src: /src/augeas/src/xml.c:91,1
    - Dst: to_xml_span
      Src: /src/augeas/src/xml.c:95,1
    - Dst: xmlSetProp
      Src: /src/augeas/src/xml.c:101,1
    - Dst: xmlNewTextChild
      Src: /src/augeas/src/xml.c:106,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 3
    argNames:
    - elem
    - tree
    - pathin
    argTypes:
    - xmlNodePtr
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 114
    functionName: to_xml_one
    functionSourceFile: /src/augeas/src/xml.c
    functionUses: 0
    functionsReached:
    - to_xml_span
    - xmlSetProp
    - xmlNewTextChild
    linkageType: ''
    returnType: int
    signature: "int to_xml_one(xmlNodePtr elem, const struct tree *tree,\n                      const
      char *pathin)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewChild
      Src: /src/augeas/src/xml.c:121,1
    - Dst: to_xml_one
      Src: /src/augeas/src/xml.c:124,1
    - Dst: list_for_each
      Src: /src/augeas/src/xml.c:128,1
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/xml.c:129,1
    - Dst: to_xml_rec
      Src: /src/augeas/src/xml.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pnode
    - start
    - pathin
    argTypes:
    - xmlNodePtr
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: to_xml_rec
    functionSourceFile: /src/augeas/src/xml.c
    functionUses: 1
    functionsReached:
    - xmlNewChild
    - to_xml_rec
    - list_for_each
    - TREE_HIDDEN
    - to_xml_one
    linkageType: ''
    returnType: int
    signature: "int to_xml_rec(xmlNodePtr pnode, struct tree *start,\n                      const
      char *pathin)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewNode
      Src: /src/augeas/src/xml.c:147,1
    - Dst: xmlSetProp
      Src: /src/augeas/src/xml.c:150,1
    - Dst: pathx_first
      Src: /src/augeas/src/xml.c:154,1
    - Dst: pathx_next
      Src: /src/augeas/src/xml.c:154,1
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/xml.c:155,1
    - Dst: path_of_tree
      Src: /src/augeas/src/xml.c:157,1
    - Dst: to_xml_rec
      Src: /src/augeas/src/xml.c:160,1
    - Dst: FREE
      Src: /src/augeas/src/xml.c:163,1
    - Dst: free
      Src: /src/augeas/src/xml.c:167,1
    - Dst: xmlFree
      Src: /src/augeas/src/xml.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - p
    - xml
    - pathin
    argTypes:
    - struct pathx*
    - xmlNode**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: tree_to_xml
    functionSourceFile: /src/augeas/src/xml.c
    functionUses: 0
    functionsReached:
    - path_of_tree
    - xmlSetProp
    - FREE
    - to_xml_rec
    - xmlFree
    - free
    - TREE_HIDDEN
    - pathx_next
    - xmlNewNode
    - pathx_first
    linkageType: ''
    returnType: int
    signature: int tree_to_xml(struct pathx *p, xmlNode **xml, const char *pathin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/xml.c:178,1
    - Dst: ARG_CHECK
      Src: /src/augeas/src/xml.c:180,1
    - Dst: ARG_CHECK
      Src: /src/augeas/src/xml.c:181,1
    - Dst: strlen
      Src: /src/augeas/src/xml.c:185,1
    - Dst: strcmp
      Src: /src/augeas/src/xml.c:185,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/xml.c:189,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/xml.c:189,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/xml.c:190,1
    - Dst: tree_to_xml
      Src: /src/augeas/src/xml.c:191,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/xml.c:192,1
    - Dst: free_pathx
      Src: /src/augeas/src/xml.c:194,1
    - Dst: api_exit
      Src: /src/augeas/src/xml.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - aug
    - pathin
    - xmldoc
    - flags
    argTypes:
    - struct augeas*
    - char*
    - xmlNode**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: aug_to_xml
    functionSourceFile: /src/augeas/src/xml.c
    functionUses: 1
    functionsReached:
    - pathx_aug_parse
    - strcmp
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - strlen
    - free_pathx
    - tree_to_xml
    - ARG_CHECK
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: "int aug_to_xml(const struct augeas *aug, const char *pathin,\n               xmlNode
      **xmldoc, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: cleanup
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanup(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/augmatch.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: freep
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freep(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aug_close
      Src: /src/augeas/src/augmatch.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct augeas**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: aug_closep
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - aug_close
    linkageType: ''
    returnType: void
    signature: void aug_closep(struct augeas **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:53,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:54,1
    - Dst: exit
      Src: /src/augeas/src/augmatch.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: usage
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/augeas/src/augmatch.c:85,1
    - Dst: va_start
      Src: /src/augeas/src/augmatch.c:87,1
    - Dst: vfprintf
      Src: /src/augeas/src/augmatch.c:88,1
    - Dst: va_end
      Src: /src/augeas/src/augmatch.c:89,1
    - Dst: exit
      Src: /src/augeas/src/augmatch.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cond
    - format
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: die
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 20
    functionsReached:
    - fputs
    - va_end
    - exit
    - va_start
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void die(bool cond, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/augeas/src/augmatch.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: oom_when
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - die
    linkageType: ''
    returnType: void
    signature: void oom_when(bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/augmatch.c:105,1
    - Dst: vasprintf
      Src: /src/augeas/src/augmatch.c:106,1
    - Dst: va_end
      Src: /src/augeas/src/augmatch.c:107,1
    - Dst: oom_when
      Src: /src/augeas/src/augmatch.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: format
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - va_end
    - oom_when
    - va_start
    - vasprintf
    linkageType: ''
    returnType: char
    signature: char *format(const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/augeas/src/augmatch.c:115,1
    - Dst: oom_when
      Src: /src/augeas/src/augmatch.c:116,1
    - Dst: aug_error
      Src: /src/augeas/src/augmatch.c:116,1
    - Dst: aug_error
      Src: /src/augeas/src/augmatch.c:117,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:118,1
    - Dst: aug_error_message
      Src: /src/augeas/src/augmatch.c:118,1
    - Dst: aug_error_minor_message
      Src: /src/augeas/src/augmatch.c:119,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:121,1
    - Dst: aug_error_details
      Src: /src/augeas/src/augmatch.c:123,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:125,1
    - Dst: exit
      Src: /src/augeas/src/augmatch.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: check_error
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - aug_error_details
    - aug_error_minor_message
    - aug_error
    - die
    - oom_when
    - aug_error_message
    linkageType: ''
    returnType: void
    signature: void check_error(struct augeas *aug)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/augeas/src/augmatch.c:135,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augmatch.c:138,1
    - Dst: free
      Src: /src/augeas/src/augmatch.c:139,1
    - Dst: die
      Src: /src/augeas/src/augmatch.c:140,1
    - Dst: aug_ns_count
      Src: /src/augeas/src/augmatch.c:140,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augmatch.c:142,1
    - Dst: aug_ns_count
      Src: /src/augeas/src/augmatch.c:143,1
    - Dst: aug_get
      Src: /src/augeas/src/augmatch.c:146,1
    - Dst: aug_get
      Src: /src/augeas/src/augmatch.c:147,1
    - Dst: aug_get
      Src: /src/augeas/src/augmatch.c:148,1
    - Dst: streqv
      Src: /src/augeas/src/augmatch.c:150,1
    - Dst: streqv
      Src: /src/augeas/src/augmatch.c:152,1
    - Dst: aug_get
      Src: /src/augeas/src/augmatch.c:153,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:157,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:160,1
    - Dst: exit
      Src: /src/augeas/src/augmatch.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - aug
    - file
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: check_load_error
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_ns_count
    - fprintf
    - exit
    - format
    - streqv
    - die
    - aug_defvar
    - free
    linkageType: ''
    returnType: void
    signature: void check_load_error(struct augeas *aug, const char *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:188,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:194,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:196,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:201,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:203,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:206,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:211,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - level
    - prefix
    - nodes
    argTypes:
    - int
    - char*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 215
    functionName: print_one
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_one(int level, const char *prefix, struct node *nodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/augeas/src/augmatch.c:220,1
    - Dst: aug_ns_count
      Src: /src/augeas/src/augmatch.c:227,1
    - Dst: cleanup
      Src: /src/augeas/src/augmatch.c:229,1
    - Dst: aug_ns_label
      Src: /src/augeas/src/augmatch.c:231,1
    - Dst: aug_ns_value
      Src: /src/augeas/src/augmatch.c:232,1
    - Dst: print_one
      Src: /src/augeas/src/augmatch.c:233,1
    - Dst: format
      Src: /src/augeas/src/augmatch.c:236,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augmatch.c:237,1
    - Dst: check_error
      Src: /src/augeas/src/augmatch.c:238,1
    - Dst: print_tree
      Src: /src/augeas/src/augmatch.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - aug
    - level
    - prefix
    - nodes
    argTypes:
    - struct augeas*
    - int
    - char*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 242
    functionName: print_tree
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 1
    functionsReached:
    - aug_ns_count
    - print_tree
    - cleanup
    - format
    - check_error
    - aug_ns_label
    - aug_defvar
    - die
    - print_one
    - aug_ns_value
    linkageType: ''
    returnType: void
    signature: "void print_tree(struct augeas *aug, int level,\n                       const
      char *prefix, struct node *nodes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/augeas/src/augmatch.c:255,1
    - Dst: oom_when
      Src: /src/augeas/src/augmatch.c:256,1
    - Dst: format
      Src: /src/augeas/src/augmatch.c:259,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augmatch.c:263,1
    - Dst: check_error
      Src: /src/augeas/src/augmatch.c:264,1
    - Dst: aug_ns_count
      Src: /src/augeas/src/augmatch.c:269,1
    - Dst: cleanup
      Src: /src/augeas/src/augmatch.c:271,1
    - Dst: aug_ns_path
      Src: /src/augeas/src/augmatch.c:272,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augmatch.c:273,1
    - Dst: print_tree
      Src: /src/augeas/src/augmatch.c:274,1
    - Dst: strlen
      Src: /src/augeas/src/augmatch.c:274,1
    - Dst: free
      Src: /src/augeas/src/augmatch.c:277,1
    - Dst: free
      Src: /src/augeas/src/augmatch.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - aug
    - path
    - match
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 282
    functionName: print
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 1
    functionsReached:
    - aug_ns_path
    - aug_ns_count
    - print_tree
    - cleanup
    - calloc
    - check_error
    - format
    - strlen
    - oom_when
    - aug_defvar
    - free
    linkageType: ''
    returnType: int
    signature: int print(struct augeas *aug, const char *path, const char *match)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/augeas/src/augmatch.c:289,1
    - Dst: streqv
      Src: /src/augeas/src/augmatch.c:294,1
    - Dst: strdup
      Src: /src/augeas/src/augmatch.c:295,1
    - Dst: streqv
      Src: /src/augeas/src/augmatch.c:296,1
    - Dst: strdup
      Src: /src/augeas/src/augmatch.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: guess_lens_name
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - streqv
    - strrchr
    - strdup
    linkageType: ''
    returnType: char
    signature: char *guess_lens_name(const char *file)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/augeas/src/augmatch.c:305,1
    - Dst: cleanup
      Src: /src/augeas/src/augmatch.c:306,1
    - Dst: cleanup
      Src: /src/augeas/src/augmatch.c:308,1
    - Dst: cleanup
      Src: /src/augeas/src/augmatch.c:309,1
    - Dst: cleanup
      Src: /src/augeas/src/augmatch.c:310,1
    - Dst: basename
      Src: /src/augeas/src/augmatch.c:333,1
    - Dst: setlocale
      Src: /src/augeas/src/augmatch.c:335,1
    - Dst: getopt_long
      Src: /src/augeas/src/augmatch.c:336,1
    - Dst: argz_add
      Src: /src/augeas/src/augmatch.c:339,1
    - Dst: strdup
      Src: /src/augeas/src/augmatch.c:342,1
    - Dst: usage
      Src: /src/augeas/src/augmatch.c:348,1
    - Dst: die
      Src: /src/augeas/src/augmatch.c:357,1
    - Dst: argz_add
      Src: /src/augeas/src/augmatch.c:359,1
    - Dst: format
      Src: /src/augeas/src/augmatch.c:359,1
    - Dst: strdup
      Src: /src/augeas/src/augmatch.c:365,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:377,1
    - Dst: exit
      Src: /src/augeas/src/augmatch.c:379,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:385,1
    - Dst: fprintf
      Src: /src/augeas/src/augmatch.c:386,1
    - Dst: exit
      Src: /src/augeas/src/augmatch.c:388,1
    - Dst: argz_stringify
      Src: /src/augeas/src/augmatch.c:393,1
    - Dst: guess_lens_name
      Src: /src/augeas/src/augmatch.c:396,1
    - Dst: aug_init
      Src: /src/augeas/src/augmatch.c:404,1
    - Dst: check_error
      Src: /src/augeas/src/augmatch.c:405,1
    - Dst: aug_load_file
      Src: /src/augeas/src/augmatch.c:408,1
    - Dst: aug_transform
      Src: /src/augeas/src/augmatch.c:410,1
    - Dst: aug_load
      Src: /src/augeas/src/augmatch.c:411,1
    - Dst: check_error
      Src: /src/augeas/src/augmatch.c:413,1
    - Dst: format
      Src: /src/augeas/src/augmatch.c:417,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augmatch.c:419,1
    - Dst: die
      Src: /src/augeas/src/augmatch.c:420,1
    - Dst: aug_ns_count
      Src: /src/augeas/src/augmatch.c:420,1
    - Dst: aug_get
      Src: /src/augeas/src/augmatch.c:422,1
    - Dst: die
      Src: /src/augeas/src/augmatch.c:426,1
    - Dst: printf
      Src: /src/augeas/src/augmatch.c:430,1
    - Dst: exit
      Src: /src/augeas/src/augmatch.c:431,1
    - Dst: check_load_error
      Src: /src/augeas/src/augmatch.c:434,1
    - Dst: format
      Src: /src/augeas/src/augmatch.c:436,1
    - Dst: aug_set
      Src: /src/augeas/src/augmatch.c:437,1
    - Dst: argz_stringify
      Src: /src/augeas/src/augmatch.c:441,1
    - Dst: aug_match
      Src: /src/augeas/src/augmatch.c:446,1
    - Dst: check_error
      Src: /src/augeas/src/augmatch.c:447,1
    - Dst: print
      Src: /src/augeas/src/augmatch.c:450,1
    - Dst: free
      Src: /src/augeas/src/augmatch.c:452,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 455
    functionName: main
    functionSourceFile: /src/augeas/src/augmatch.c
    functionUses: 0
    functionsReached:
    - aug_get
    - print
    - setlocale
    - getopt_long
    - format
    - check_error
    - aug_set
    - basename
    - aug_init
    - strdup
    - argz_stringify
    - aug_transform
    - fprintf
    - cleanup
    - exit
    - aug_match
    - aug_load_file
    - guess_lens_name
    - usage
    - check_load_error
    - argz_add
    - die
    - free
    - aug_ns_count
    - aug_load
    - printf
    - aug_defvar
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: LNS_TYPE_CHECK
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LNS_TYPE_CHECK(ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_exn_value
      Src: /src/augeas/src/syntax.c:87,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - error
    argTypes:
    - struct error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: init_fatal_exn
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - ref
    linkageType: ''
    returnType: int
    signature: int init_fatal_exn(struct error *error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/augeas/src/syntax.c:107,1
    - Dst: format_info
      Src: /src/augeas/src/syntax.c:109,1
    - Dst: vasprintf
      Src: /src/augeas/src/syntax.c:110,1
    - Dst: xasprintf
      Src: /src/augeas/src/syntax.c:114,1
    - Dst: xasprintf
      Src: /src/augeas/src/syntax.c:118,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:123,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:126,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - info
    - code
    - format
    - ap
    argTypes:
    - struct info*
    - aug_errcode_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: format_error
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - xasprintf
    - FREE
    - vasprintf
    - format_info
    - free
    linkageType: ''
    returnType: void
    signature: "void format_error(struct info *info, aug_errcode_t code,\n                         const
      char *format, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:137,1
    - Dst: format_error
      Src: /src/augeas/src/syntax.c:138,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - info
    - format
    argTypes:
    - struct info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: syntax_error
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - format_error
    linkageType: ''
    returnType: void
    signature: void syntax_error(struct info *info, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:149,1
    - Dst: format_error
      Src: /src/augeas/src/syntax.c:150,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - format
    argTypes:
    - struct info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: fatal_error
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - format_error
    linkageType: ''
    returnType: void
    signature: void fatal_error(struct info *info, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:157,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:158,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:159,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:160,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - struct param*
    assertStmts:
    - condition: (param->ref == 0)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: free_param
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_param(struct param *param)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:167,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:170,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:171,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:172,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:175,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:176,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:184,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:185,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:188,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:191,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:194,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:197,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:198,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:201,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:204,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:205,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:208,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:211,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:212,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:213,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:214,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - term
    argTypes:
    - struct term*
    assertStmts:
    - condition: (term->ref == 0)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/augeas/src/syntax.c
    - condition: (0)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 215
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 215
    functionName: free_term
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_term(struct term *term)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:220,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:221,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:222,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:223,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:224,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - binding
    argTypes:
    - struct binding*
    assertStmts:
    - condition: (binding->ref == 0)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: free_binding
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_binding(struct binding *binding)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:231,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:232,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:233,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:234,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:235,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - module
    argTypes:
    - struct module*
    assertStmts:
    - condition: (module->ref == 0)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: free_module
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_module(struct module *module)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:242,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:245,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:246,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct type*
    assertStmts:
    - condition: (type->ref == 0)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: free_type
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_type(struct type *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unref
      Src: /src/augeas/src/syntax.c:255,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:256,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:258,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:260,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - exn
    argTypes:
    - struct exn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: free_exn
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_exn(struct exn *exn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:267,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:271,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:274,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:277,1
    - Dst: free_tree
      Src: /src/augeas/src/syntax.c:280,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:283,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:286,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:290,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:291,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:294,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:295,1
    - Dst: free_exn
      Src: /src/augeas/src/syntax.c:298,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:303,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:305,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:306,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct value*
    assertStmts:
    - condition: (v->ref == 0)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/augeas/src/syntax.c
    - condition: (0)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 307
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 307
    functionName: free_value
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - free_exn
    - unref
    - free_tree
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void free_value(struct value *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:317,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tag
    - info
    argTypes:
    - enum term_tag
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: make_term
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - unref
    - make_ref
    linkageType: ''
    returnType: struct term
    signature: struct term *make_term(enum term_tag tag, struct info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_term
      Src: /src/augeas/src/syntax.c:327,1
    - Dst: make_ref_err
      Src: /src/augeas/src/syntax.c:330,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:331,1
    - Dst: make_ref_err
      Src: /src/augeas/src/syntax.c:332,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - name
    - type
    - info
    argTypes:
    - char*
    - struct type*
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: make_param
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - unref
    - make_ref_err
    - ref
    - make_term
    linkageType: ''
    returnType: struct term
    signature: struct term *make_param(char *name, struct type *type, struct info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:343,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tag
    - info
    argTypes:
    - enum value_tag
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: make_value
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - unref
    - make_ref
    linkageType: ''
    returnType: struct value
    signature: struct value *make_value(enum value_tag tag, struct info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: make_unit
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *make_unit(struct info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_term
      Src: /src/augeas/src/syntax.c:358,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:360,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - lambda
    - arg
    - info
    argTypes:
    - struct term*
    - struct term*
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: make_app_term
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - unref
    - make_term
    linkageType: ''
    returnType: struct term
    signature: "struct term *make_app_term(struct term *lambda, struct term *arg,\n
      \                          struct info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_term
      Src: /src/augeas/src/syntax.c:370,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:370,1
    - Dst: make_string
      Src: /src/augeas/src/syntax.c:371,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:373,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:374,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:375,1
    - Dst: make_app_term
      Src: /src/augeas/src/syntax.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - id
    - arg
    - info
    argTypes:
    - char*
    - struct term*
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: make_app_ident
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - make_term
    - ref
    - make_app_term
    - make_string
    - unref
    linkageType: ''
    returnType: struct term
    signature: struct term *make_app_ident(char *id, struct term *arg, struct info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:382,1
    - Dst: build_func
      Src: /src/augeas/src/syntax.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - params
    - exp
    argTypes:
    - struct term*
    - struct term*
    assertStmts:
    - condition: (params->tag == A_FUNC)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: build_func
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - assert
    - build_func
    linkageType: ''
    returnType: struct term
    signature: struct term *build_func(struct term *params, struct term *exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:394,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:396,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:397,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - func
    - bnds
    argTypes:
    - struct term*
    - struct binding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: make_closure
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - ref
    - make_ref
    linkageType: ''
    returnType: struct value
    signature: struct value *make_closure(struct term *func, struct binding *bnds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:410,1
    - Dst: vasprintf
      Src: /src/augeas/src/syntax.c:411,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:412,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:416,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:416,1
    - Dst: ALLOC
      Src: /src/augeas/src/syntax.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - info
    - format
    argTypes:
    - struct info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 423
    functionName: make_exn_value
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - ref
    - make_value
    - vasprintf
    - ALLOC
    linkageType: ''
    returnType: struct value
    signature: "struct value *make_exn_value(struct info *info,\n                             const
      char *format, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:426,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/syntax.c:429,1
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:431,1
    - Dst: va_arg
      Src: /src/augeas/src/syntax.c:433,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - v
    - nlines
    argTypes:
    - struct value*
    - int
    assertStmts:
    - condition: (v->tag == V_EXN)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 438
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 438
    functionName: exn_add_lines
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_arg
    - va_start
    - REALLOC_N
    - assert
    linkageType: ''
    returnType: void
    signature: void exn_add_lines(struct value *v, int nlines, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:445,1
    - Dst: vasprintf
      Src: /src/augeas/src/syntax.c:446,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:447,1
    - Dst: exn_add_lines
      Src: /src/augeas/src/syntax.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - exn
    - format
    argTypes:
    - struct value*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: exn_printf_line
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vasprintf
    - exn_add_lines
    linkageType: ''
    returnType: void
    signature: void exn_printf_line(struct value *exn, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:460,1
    - Dst: strdup
      Src: /src/augeas/src/syntax.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: module_create
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - strdup
    - make_ref
    linkageType: ''
    returnType: struct module
    signature: struct module *module_create(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STRCASEEQ
      Src: /src/augeas/src/syntax.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - module
    - name
    argTypes:
    - struct module*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: module_find
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - STRCASEEQ
    linkageType: ''
    returnType: struct module
    signature: struct module *module_find(struct module *module, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STRCASEEQ
      Src: /src/augeas/src/syntax.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 6
    functionsReached:
    - STRCASEEQ
    linkageType: ''
    returnType: void
    signature: void list_for_each(e, module)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/syntax.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bindings
    - name
    argTypes:
    - struct binding*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: bnd_lookup
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: struct binding
    signature: struct binding *bnd_lookup(struct binding *bindings, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/syntax.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 6
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: void
    signature: void list_for_each(b, bindings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/syntax.c:482,1
    - Dst: strndup
      Src: /src/augeas/src/syntax.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: modname_of_qname
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - strchr
    - strndup
    linkageType: ''
    returnType: char
    signature: char *modname_of_qname(const char *qname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: modname_of_qname
      Src: /src/augeas/src/syntax.c:491,1
    - Dst: module_find
      Src: /src/augeas/src/syntax.c:497,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:498,1
    - Dst: bnd_lookup
      Src: /src/augeas/src/syntax.c:499,1
    - Dst: list_for_each
      Src: /src/augeas/src/syntax.c:504,1
    - Dst: STRCASEEQ
      Src: /src/augeas/src/syntax.c:505,1
    - Dst: bnd_lookup
      Src: /src/augeas/src/syntax.c:506,1
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:506,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:507,1
    - Dst: streqv
      Src: /src/augeas/src/syntax.c:512,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:513,1
    - Dst: load_module
      Src: /src/augeas/src/syntax.c:516,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - aug
    - ctx_modname
    - name
    - bnd
    argTypes:
    - struct augeas*
    - char*
    - char*
    - struct binding**
    assertStmts:
    - condition: (builtin != NULL)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 522
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 522
    functionName: lookup_internal
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - STRCASEEQ
    - bnd_lookup
    - module_find
    - modname_of_qname
    - streqv
    - list_for_each
    - strlen
    - load_module
    - assert
    - free
    linkageType: ''
    returnType: int
    signature: "int lookup_internal(struct augeas *aug, const char *ctx_modname,\n
      \                          const char *name, struct binding **bnd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_internal
      Src: /src/augeas/src/syntax.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - aug
    - qname
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: lens_lookup
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - lookup_internal
    linkageType: ''
    returnType: struct lens
    signature: struct lens *lens_lookup(struct augeas *aug, const char *qname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:537,1
    - Dst: STREQLEN
      Src: /src/augeas/src/syntax.c:539,1
    - Dst: bnd_lookup
      Src: /src/augeas/src/syntax.c:542,1
    - Dst: lookup_internal
      Src: /src/augeas/src/syntax.c:548,1
    - Dst: modname_of_qname
      Src: /src/augeas/src/syntax.c:551,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:552,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - info
    - ctx
    - name
    argTypes:
    - struct info*
    - struct ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 558
    functionName: ctx_lookup_bnd
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - STREQLEN
    - syntax_error
    - bnd_lookup
    - modname_of_qname
    - strlen
    - lookup_internal
    - free
    linkageType: ''
    returnType: struct binding
    signature: "struct binding *ctx_lookup_bnd(struct info *info,\n                                      struct
      ctx *ctx, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_lookup_bnd
      Src: /src/augeas/src/syntax.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - info
    - ctx
    - ident
    argTypes:
    - struct info*
    - struct ctx*
    - struct string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: ctx_lookup
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - ctx_lookup_bnd
    linkageType: ''
    returnType: struct value
    signature: "struct value *ctx_lookup(struct info *info,\n                                struct
      ctx *ctx, struct string *ident)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_lookup_bnd
      Src: /src/augeas/src/syntax.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - info
    - ctx
    - ident
    argTypes:
    - struct info*
    - struct ctx*
    - struct string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: ctx_lookup_type
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - ctx_lookup_bnd
    linkageType: ''
    returnType: struct type
    signature: "struct type *ctx_lookup_type(struct info *info,\n                                    struct
      ctx *ctx, struct string *ident)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/syntax.c:577,1
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:579,1
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:580,1
    - Dst: strdup
      Src: /src/augeas/src/syntax.c:581,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:582,1
    - Dst: list_cons
      Src: /src/augeas/src/syntax.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - bnds
    - name
    - type
    argTypes:
    - struct binding**
    - char*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 586
    functionName: bind_type
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - ref
    - STREQ
    - strdup
    - make_ref
    - list_cons
    linkageType: ''
    returnType: struct binding
    signature: "struct binding *bind_type(struct binding **bnds,\n                                 const
      char *name, struct type *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:592,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:593,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:594,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:595,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:596,1
    - Dst: list_cons
      Src: /src/augeas/src/syntax.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bnds
    - param
    - v
    argTypes:
    - struct binding**
    - struct param*
    - struct value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 598
    functionName: bind_param
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - list_cons
    - ref
    - make_ref
    linkageType: ''
    returnType: void
    signature: "void bind_param(struct binding **bnds, struct param *param,\n                       struct
      value *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:602,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:603,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bnds
    - param
    argTypes:
    - struct binding**
    - ATTRIBUTE_UNUSED*
    assertStmts:
    - condition: (b->ident == param->name)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/augeas/src/syntax.c
    - condition: (b->next != *bnds)
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: unbind_param
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - unref
    linkageType: ''
    returnType: void
    signature: void unbind_param(struct binding **bnds, ATTRIBUTE_UNUSED struct param
      *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STRNEQ
      Src: /src/augeas/src/syntax.c:613,1
    - Dst: bind_type
      Src: /src/augeas/src/syntax.c:614,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - bnds
    - name
    - type
    - value
    argTypes:
    - struct binding**
    - char*
    - struct type*
    - struct value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 617
    functionName: bind
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - bind_type
    - ref
    - STRNEQ
    linkageType: ''
    returnType: void
    signature: "void bind(struct binding **bnds,\n                 const char *name,
      struct type *type, struct value *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:627,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:628,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:629,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:630,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:631,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bnds
    argTypes:
    - struct binding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 634
    functionName: dump_bindings
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - type_string
    - fprintf
    - fputc
    - print_value
    - free
    linkageType: ''
    returnType: void
    signature: void dump_bindings(struct binding *bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:627,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:628,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:629,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:630,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:631,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 633
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 7
    functionsReached:
    - type_string
    - fprintf
    - fputc
    - print_value
    - free
    linkageType: ''
    returnType: void
    signature: void list_for_each(b, bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:639,1
    - Dst: dump_bindings
      Src: /src/augeas/src/syntax.c:640,1
    - Dst: dump_module
      Src: /src/augeas/src/syntax.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - module
    argTypes:
    - struct module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: dump_module
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - dump_module
    - dump_bindings
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_module(struct module *module)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:646,1
    - Dst: dump_bindings
      Src: /src/augeas/src/syntax.c:647,1
    - Dst: list_for_each
      Src: /src/augeas/src/syntax.c:649,1
    - Dst: dump_module
      Src: /src/augeas/src/syntax.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 652
    functionName: dump_ctx
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - dump_module
    - list_for_each
    - dump_bindings
    - fprintf
    linkageType: ''
    returnType: ATTRIBUTE_UNUSED
    signature: ATTRIBUTE_UNUSED dump_ctx(struct ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:659,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:663,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:664,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:666,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:668,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:670,1
    - Dst: print_tree_braces
      Src: /src/augeas/src/syntax.c:671,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:672,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:674,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:676,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - out
    - indent
    - tree
    argTypes:
    - FILE*
    - int
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 678
    functionName: print_tree_braces
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - fputc
    - print_tree_braces
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_tree_braces(FILE *out, int indent, struct tree *tree)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:663,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:664,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:666,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:668,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:670,1
    - Dst: print_tree_braces
      Src: /src/augeas/src/syntax.c:671,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:672,1
    - Dst: fputc
      Src: /src/augeas/src/syntax.c:674,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 677
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 8
    functionsReached:
    - fputc
    - print_tree_braces
    - fprintf
    linkageType: ''
    returnType: void
    signature: void list_for_each(t, tree)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:682,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:688,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:691,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:694,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:695,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:696,1
    - Dst: print_tree_braces
      Src: /src/augeas/src/syntax.c:699,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:702,1
    - Dst: list_for_each
      Src: /src/augeas/src/syntax.c:703,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:704,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:709,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:710,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:711,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:714,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:715,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:716,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:719,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:720,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:721,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:725,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:726,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:728,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:734,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:737,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - out
    - v
    argTypes:
    - FILE*
    - struct value*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 740
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 740
    functionName: print_value
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 2
    functionsReached:
    - print_info
    - fprintf
    - print_tree_braces
    - list_for_each
    - assert
    linkageType: ''
    returnType: void
    signature: void print_value(FILE *out, struct value *v)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/syntax.c:751,1
    - Dst: STREQ
      Src: /src/augeas/src/syntax.c:755,1
    - Dst: tree_equal
      Src: /src/augeas/src/syntax.c:761,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:776,1
    - Dst: abort
      Src: /src/augeas/src/syntax.c:777,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - struct value*
    - struct value*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 780
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 780
    functionName: value_equal
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - tree_equal
    - STREQ
    - assert
    - abort
    linkageType: ''
    returnType: int
    signature: int value_equal(struct value *v1, struct value *v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:787,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:789,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dom
    - img
    argTypes:
    - struct type*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 792
    functionName: make_arrow_type
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - ref
    - make_ref
    linkageType: ''
    returnType: struct type
    signature: struct type *make_arrow_type(struct type *dom, struct type *img)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:809,1
    - Dst: abort
      Src: /src/augeas/src/syntax.c:810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - tag
    argTypes:
    - enum type_tag
    assertStmts:
    - condition: (0)
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 811
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 811
    functionName: make_base_type
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - abort
    linkageType: ''
    returnType: struct type
    signature: struct type *make_base_type(enum type_tag tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:817,1
    - Dst: abort
      Src: /src/augeas/src/syntax.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct type*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 819
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 819
    functionName: type_name
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - assert
    - abort
    linkageType: ''
    returnType: char
    signature: char *type_name(struct type *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:825,1
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:826,1
    - Dst: asprintf
      Src: /src/augeas/src/syntax.c:828,1
    - Dst: asprintf
      Src: /src/augeas/src/syntax.c:830,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:831,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:832,1
    - Dst: strdup
      Src: /src/augeas/src/syntax.c:835,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 837
    functionName: type_string
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 3
    functionsReached:
    - type_string
    - strdup
    - asprintf
    - type_name
    - free
    linkageType: ''
    returnType: char
    signature: char *type_string(struct type *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: subtype
      Src: /src/augeas/src/syntax.c:853,1
    - Dst: subtype
      Src: /src/augeas/src/syntax.c:854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct type*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 857
    functionName: subtype
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - subtype
    linkageType: ''
    returnType: int
    signature: int subtype(struct type *t1, struct type *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subtype
      Src: /src/augeas/src/syntax.c:860,1
    - Dst: subtype
      Src: /src/augeas/src/syntax.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct type*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 861
    functionName: type_equal
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - subtype
    linkageType: ''
    returnType: int
    signature: int type_equal(struct type *t1, struct type *t2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ref
      Src: /src/augeas/src/syntax.c:870,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:872,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:875,1
    - Dst: type_meet
      Src: /src/augeas/src/syntax.c:879,1
    - Dst: type_join
      Src: /src/augeas/src/syntax.c:880,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:882,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:883,1
    - Dst: make_arrow_type
      Src: /src/augeas/src/syntax.c:886,1
    - Dst: type_equal
      Src: /src/augeas/src/syntax.c:887,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:888,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct type*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 891
    functionName: type_join
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - type_meet
    - ref
    - make_arrow_type
    - type_join
    - type_equal
    - unref
    linkageType: ''
    returnType: struct type
    signature: struct type *type_join(struct type *t1, struct type *t2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ref
      Src: /src/augeas/src/syntax.c:897,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:900,1
    - Dst: type_join
      Src: /src/augeas/src/syntax.c:904,1
    - Dst: type_meet
      Src: /src/augeas/src/syntax.c:905,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:907,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:908,1
    - Dst: make_arrow_type
      Src: /src/augeas/src/syntax.c:911,1
    - Dst: type_equal
      Src: /src/augeas/src/syntax.c:912,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:913,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct type*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 916
    functionName: type_meet
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 2
    functionsReached:
    - type_meet
    - ref
    - make_arrow_type
    - type_join
    - type_equal
    - unref
    linkageType: ''
    returnType: struct type
    signature: struct type *type_meet(struct type *t1, struct type *t2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:921,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:923,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:925,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:927,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:929,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:931,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:933,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:935,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:937,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:940,1
    - Dst: abort
      Src: /src/augeas/src/syntax.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct value*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 939
        line_start: 939
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 943
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 943
    functionName: value_type
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - ref
    - make_base_type
    - assert
    - abort
    linkageType: ''
    returnType: struct type
    signature: struct type *value_type(struct value *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: value_type
      Src: /src/augeas/src/syntax.c:950,1
    - Dst: type_equal
      Src: /src/augeas/src/syntax.c:951,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:952,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:956,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:956,1
    - Dst: make_regexp_literal
      Src: /src/augeas/src/syntax.c:957,1
    - Dst: report_error
      Src: /src/augeas/src/syntax.c:959,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:961,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:962,1
    - Dst: make_exn_value
      Src: /src/augeas/src/syntax.c:965,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:966,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - v
    - t
    argTypes:
    - struct value*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 967
    functionName: coerce
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - value_type
    - make_exn_value
    - make_regexp_literal
    - ref
    - report_error
    - type_equal
    - unref
    - type_name
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *coerce(struct value *v, struct type *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: subtype
      Src: /src/augeas/src/syntax.c:977,1
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:985,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:985,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/syntax.c:989,1
    - Dst: strcat
      Src: /src/augeas/src/syntax.c:993,1
    - Dst: strcat
      Src: /src/augeas/src/syntax.c:994,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:994,1
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:996,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:997,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:999,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1000,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - info
    - act
    - ntypes
    - allowed
    argTypes:
    - struct info*
    - struct type*
    - int
    - struct type*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 971
    functionDepth: 3
    functionLinenumber: 971
    functionLinenumberEnd: 1003
    functionName: expect_types_arr
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - type_string
    - strcat
    - ALLOC_N
    - syntax_error
    - subtype
    - strlen
    - type_name
    - free
    linkageType: ''
    returnType: struct type
    signature: "struct type *expect_types_arr(struct info *info,\n                                     struct
      type *act,\n                                     int ntypes, struct type *allowed[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:1010,1
    - Dst: va_arg
      Src: /src/augeas/src/syntax.c:1012,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:1013,1
    - Dst: expect_types_arr
      Src: /src/augeas/src/syntax.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - info
    - act
    - ntypes
    argTypes:
    - struct info*
    - struct type*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1005
    functionDepth: 4
    functionLinenumber: 1005
    functionLinenumberEnd: 1015
    functionName: expect_types
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    - expect_types_arr
    linkageType: ''
    returnType: struct type
    signature: "struct type *expect_types(struct info *info,\n                                 struct
      type *act, int ntypes, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct native*::impl
      Src: /src/augeas/src/syntax.c:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - info
    - func
    - ctx
    argTypes:
    - struct info*
    - struct native*
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1041
    functionName: native_call
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - struct native*::impl
    linkageType: ''
    returnType: struct value
    signature: "struct value *native_call(struct info *info,\n                                 struct
      native *func, struct ctx *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:1044,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1045,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1046,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - info
    - msg
    - type
    argTypes:
    - struct info*
    - char*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1048
    functionName: type_error1
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - type_string
    - free
    - syntax_error
    linkageType: ''
    returnType: void
    signature: void type_error1(struct info *info, const char *msg, struct type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:1052,1
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:1053,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1054,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1055,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1056,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - info
    - msg
    - type1
    - type2
    argTypes:
    - struct info*
    - char*
    - struct type*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: type_error2
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - type_string
    - free
    - syntax_error
    linkageType: ''
    returnType: void
    signature: "void type_error2(struct info *info, const char *msg,\n                        struct
      type *type1, struct type *type2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:1062,1
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:1063,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1064,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1065,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1066,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - info
    - opname
    - type1
    - type2
    argTypes:
    - struct info*
    - char*
    - struct type*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1060
    functionDepth: 3
    functionLinenumber: 1060
    functionLinenumberEnd: 1068
    functionName: type_error_binop
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - type_string
    - free
    - syntax_error
    linkageType: ''
    returnType: void
    signature: "void type_error_binop(struct info *info, const char *opname,\n                             struct
      type *type1, struct type *type2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1077,1
    - Dst: expect_types_arr
      Src: /src/augeas/src/syntax.c:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - term
    - ctx
    - ntypes
    - allowed
    argTypes:
    - struct term*
    - struct ctx*
    - int
    - struct type*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1072
    functionDepth: 4
    functionLinenumber: 1072
    functionLinenumberEnd: 1083
    functionName: require_exp_type
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - check_exp
    - expect_types_arr
    linkageType: ''
    returnType: struct type
    signature: "struct type *require_exp_type(struct term *term, struct ctx *ctx,\n
      \                                    int ntypes, struct type *allowed[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1088,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1096,1
    - Dst: subtype
      Src: /src/augeas/src/syntax.c:1101,1
    - Dst: make_arrow_type
      Src: /src/augeas/src/syntax.c:1103,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1105,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1107,1
    - Dst: type_error_binop
      Src: /src/augeas/src/syntax.c:1113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - term
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1116
    functionName: check_compose
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - check_exp
    - subtype
    - ref
    - type_error_binop
    - make_arrow_type
    linkageType: ''
    returnType: int
    signature: int check_compose(struct term *term, struct ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:1124,1
    - Dst: va_arg
      Src: /src/augeas/src/syntax.c:1126,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:1127,1
    - Dst: require_exp_type
      Src: /src/augeas/src/syntax.c:1129,1
    - Dst: require_exp_type
      Src: /src/augeas/src/syntax.c:1133,1
    - Dst: type_join
      Src: /src/augeas/src/syntax.c:1137,1
    - Dst: type_error_binop
      Src: /src/augeas/src/syntax.c:1142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - opname
    - term
    - ctx
    - ntypes
    argTypes:
    - char*
    - struct term*
    - struct ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1118
    functionDepth: 5
    functionLinenumber: 1118
    functionLinenumberEnd: 1144
    functionName: check_binop
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_arg
    - va_start
    - require_exp_type
    - type_error_binop
    - type_join
    linkageType: ''
    returnType: int
    signature: "int check_binop(const char *opname, struct term *term,\n                       struct
      ctx *ctx, int ntypes, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regexp_check
      Src: /src/augeas/src/syntax.c:1154,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1155,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:1158,1
    - Dst: value_type
      Src: /src/augeas/src/syntax.c:1167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - term
    argTypes:
    - struct term*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1171
    functionName: check_value
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - value_type
    - syntax_error
    - make_base_type
    - regexp_check
    linkageType: ''
    returnType: int
    signature: int check_value(struct term *term)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1176,1
    - Dst: check_binop
      Src: /src/augeas/src/syntax.c:1182,1
    - Dst: check_binop
      Src: /src/augeas/src/syntax.c:1185,1
    - Dst: check_compose
      Src: /src/augeas/src/syntax.c:1188,1
    - Dst: check_binop
      Src: /src/augeas/src/syntax.c:1191,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1196,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1199,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1200,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1201,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1203,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1206,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1212,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1212,1
    - Dst: type_error1
      Src: /src/augeas/src/syntax.c:1215,1
    - Dst: expect_types
      Src: /src/augeas/src/syntax.c:1222,1
    - Dst: type_error_binop
      Src: /src/augeas/src/syntax.c:1226,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1232,1
    - Dst: check_value
      Src: /src/augeas/src/syntax.c:1235,1
    - Dst: ctx_lookup_type
      Src: /src/augeas/src/syntax.c:1239,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1241,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1245,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1250,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1252,1
    - Dst: expect_types
      Src: /src/augeas/src/syntax.c:1252,1
    - Dst: type_error1
      Src: /src/augeas/src/syntax.c:1255,1
    - Dst: bind_param
      Src: /src/augeas/src/syntax.c:1264,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1265,1
    - Dst: make_arrow_type
      Src: /src/augeas/src/syntax.c:1268,1
    - Dst: unbind_param
      Src: /src/augeas/src/syntax.c:1270,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1274,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1276,1
    - Dst: expect_types
      Src: /src/augeas/src/syntax.c:1276,1
    - Dst: type_error1
      Src: /src/augeas/src/syntax.c:1279,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1288,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1291,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 2
    argNames:
    - term
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts:
    - condition: (!result || term->type != NULL)
      pos:
        line_end: 1290
        line_start: 1290
        source_file: /src/augeas/src/syntax.c
    - condition: (term->type == NULL || term->tag == A_VALUE || term->ref > 1)
      pos:
        line_end: 1175
        line_start: 1175
        source_file: /src/augeas/src/syntax.c
    - condition: (func->tag == A_FUNC)
      pos:
        line_end: 1198
        line_start: 1198
        source_file: /src/augeas/src/syntax.c
    - condition: (func->param->type == NULL)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/augeas/src/syntax.c
    - condition: (0)
      pos:
        line_end: 1287
        line_start: 1287
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1293
      start: 1174
    functionDepth: 6
    functionLinenumber: 1174
    functionLinenumberEnd: 1293
    functionName: check_exp
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 3
    functionsReached:
    - type_error1
    - syntax_error
    - check_compose
    - check_exp
    - ref
    - type_error_binop
    - make_arrow_type
    - expect_types
    - ctx_lookup_type
    - unbind_param
    - check_value
    - assert
    - bind_param
    - check_binop
    linkageType: ''
    returnType: int
    signature: int check_exp(struct term *term, struct ctx *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1296,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1299,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1301,1
    - Dst: bnd_lookup
      Src: /src/augeas/src/syntax.c:1303,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1304,1
    - Dst: bind_type
      Src: /src/augeas/src/syntax.c:1308,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1310,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1313,1
    - Dst: type_equal
      Src: /src/augeas/src/syntax.c:1315,1
    - Dst: type_error2
      Src: /src/augeas/src/syntax.c:1316,1
    - Dst: expect_types
      Src: /src/augeas/src/syntax.c:1322,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1326,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - term
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts:
    - condition: (term->tag == A_BIND || term->tag == A_TEST)
      pos:
        line_end: 1295
        line_start: 1295
        source_file: /src/augeas/src/syntax.c
    - condition: (0)
      pos:
        line_end: 1327
        line_start: 1327
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1331
      start: 1295
    functionDepth: 7
    functionLinenumber: 1295
    functionLinenumberEnd: 1331
    functionName: check_decl
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - syntax_error
    - type_error2
    - check_exp
    - ref
    - bind_type
    - bnd_lookup
    - expect_types
    - type_equal
    - assert
    linkageType: ''
    returnType: int
    signature: int check_decl(struct term *term, struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1339,1
    - Dst: module_basename
      Src: /src/augeas/src/syntax.c:1342,1
    - Dst: strrchr
      Src: /src/augeas/src/syntax.c:1344,1
    - Dst: STRNEQ
      Src: /src/augeas/src/syntax.c:1349,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1350,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1353,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1356,1
    - Dst: list_for_each
      Src: /src/augeas/src/syntax.c:1361,1
    - Dst: check_decl
      Src: /src/augeas/src/syntax.c:1362,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - term
    - aug
    argTypes:
    - struct term*
    - struct augeas*
    assertStmts:
    - condition: (term->tag == A_MODULE)
      pos:
        line_end: 1338
        line_start: 1338
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1366
      start: 1333
    functionDepth: 8
    functionLinenumber: 1333
    functionLinenumberEnd: 1366
    functionName: typecheck
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - syntax_error
    - check_decl
    - strrchr
    - STRNEQ
    - list_for_each
    - unref
    - assert
    - free
    - module_basename
    linkageType: ''
    returnType: int
    signature: int typecheck(struct term *term, struct augeas *aug)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1371,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1372,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1374,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1375,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1376,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1384,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1385,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1387,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1388,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1389,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:1394,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1394,1
    - Dst: regexp_union
      Src: /src/augeas/src/syntax.c:1395,1
    - Dst: lns_make_union
      Src: /src/augeas/src/syntax.c:1399,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1399,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1399,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1399,1
    - Dst: LNS_TYPE_CHECK
      Src: /src/augeas/src/syntax.c:1399,1
    - Dst: fatal_error
      Src: /src/augeas/src/syntax.c:1401,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1402,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1402,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1403,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1405,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - exp
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1370
    functionDepth: 4
    functionLinenumber: 1370
    functionLinenumberEnd: 1408
    functionName: compile_union
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - compile_exp
    - LNS_TYPE_CHECK
    - EXN
    - fatal_error
    - coerce
    - lns_make_union
    - ref
    - regexp_union
    - unref
    - type_name
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *compile_union(struct term *exp, struct ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1411,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1412,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1414,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1415,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1416,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1424,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1425,1
    - Dst: regexp_minus
      Src: /src/augeas/src/syntax.c:1429,1
    - Dst: make_exn_value
      Src: /src/augeas/src/syntax.c:1431,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1431,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/syntax.c:1433,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/syntax.c:1434,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:1436,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1436,1
    - Dst: fatal_error
      Src: /src/augeas/src/syntax.c:1441,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1442,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1442,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1443,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1445,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - exp
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1410
    functionDepth: 4
    functionLinenumber: 1410
    functionLinenumberEnd: 1448
    functionName: compile_minus
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - regexp_minus
    - make_exn_value
    - compile_exp
    - exn_printf_line
    - EXN
    - fatal_error
    - coerce
    - ref
    - unref
    - type_name
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *compile_minus(struct term *exp, struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/syntax.c:1461,1
    - Dst: make_param
      Src: /src/augeas/src/syntax.c:1462,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1462,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1463,1
    - Dst: make_arrow_type
      Src: /src/augeas/src/syntax.c:1464,1
    - Dst: make_term
      Src: /src/augeas/src/syntax.c:1466,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1466,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1467,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1468,1
    - Dst: make_app_term
      Src: /src/augeas/src/syntax.c:1469,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1469,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1469,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1470,1
    - Dst: make_app_term
      Src: /src/augeas/src/syntax.c:1471,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1471,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1471,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1472,1
    - Dst: build_func
      Src: /src/augeas/src/syntax.c:1474,1
    - Dst: type_equal
      Src: /src/augeas/src/syntax.c:1476,1
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:1477,1
    - Dst: type_string
      Src: /src/augeas/src/syntax.c:1478,1
    - Dst: fatal_error
      Src: /src/augeas/src/syntax.c:1479,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1481,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1482,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1483,1
    - Dst: make_closure
      Src: /src/augeas/src/syntax.c:1486,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1487,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1489,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1490,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - exp
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1450
    functionDepth: 3
    functionLinenumber: 1450
    functionLinenumberEnd: 1494
    functionName: compile_compose
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - type_string
    - compile_exp
    - make_term
    - make_param
    - fatal_error
    - ref
    - make_app_term
    - make_arrow_type
    - build_func
    - type_equal
    - strdup
    - unref
    - make_closure
    - free
    linkageType: ''
    returnType: struct value
    signature: struct value *compile_compose(struct term *exp, struct ctx *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1497,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1498,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1500,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1501,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1502,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1510,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1511,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:1515,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1515,1
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:1516,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/syntax.c:1517,1
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:1517,1
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:1517,1
    - Dst: strcpy
      Src: /src/augeas/src/syntax.c:1520,1
    - Dst: strcat
      Src: /src/augeas/src/syntax.c:1521,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:1523,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1523,1
    - Dst: regexp_concat
      Src: /src/augeas/src/syntax.c:1524,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:1528,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1528,1
    - Dst: list_append
      Src: /src/augeas/src/syntax.c:1530,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1530,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1531,1
    - Dst: list_append
      Src: /src/augeas/src/syntax.c:1533,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1533,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1534,1
    - Dst: make_filter
      Src: /src/augeas/src/syntax.c:1537,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1537,1
    - Dst: make_filter
      Src: /src/augeas/src/syntax.c:1538,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1538,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1539,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1540,1
    - Dst: list_append
      Src: /src/augeas/src/syntax.c:1541,1
    - Dst: lns_make_concat
      Src: /src/augeas/src/syntax.c:1547,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1547,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1547,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1547,1
    - Dst: LNS_TYPE_CHECK
      Src: /src/augeas/src/syntax.c:1547,1
    - Dst: fatal_error
      Src: /src/augeas/src/syntax.c:1550,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1551,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1551,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1552,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1554,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1555,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - exp
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1559
    functionName: compile_concat
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - lns_make_concat
    - compile_exp
    - strcat
    - ALLOC_N
    - regexp_concat
    - EXN
    - list_append
    - coerce
    - LNS_TYPE_CHECK
    - ref
    - strcpy
    - fatal_error
    - make_filter
    - strlen
    - unref
    - make_ref
    - type_name
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *compile_concat(struct term *exp, struct ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1562,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1566,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1569,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1570,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1571,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1575,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1578,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1581,1
    - Dst: bind_param
      Src: /src/augeas/src/syntax.c:1585,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1586,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1587,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1588,1
    - Dst: unbind_param
      Src: /src/augeas/src/syntax.c:1589,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1592,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1593,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - app
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts:
    - condition: (f->tag == V_CLOS)
      pos:
        line_end: 1574
        line_start: 1574
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1596
      start: 1561
    functionDepth: 4
    functionLinenumber: 1561
    functionLinenumberEnd: 1596
    functionName: apply
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - compile_exp
    - EXN
    - coerce
    - ref
    - unref
    - unbind_param
    - assert
    - bind_param
    linkageType: ''
    returnType: struct value
    signature: struct value *apply(struct term *app, struct ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1599,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1600,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1602,1
    - Dst: lns_make_subtree
      Src: /src/augeas/src/syntax.c:1604,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1604,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1604,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - exp
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts:
    - condition: (arg->tag == V_LENS)
      pos:
        line_end: 1601
        line_start: 1601
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1608
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1608
    functionName: compile_bracket
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - compile_exp
    - lns_make_subtree
    - EXN
    - ref
    - unref
    - assert
    linkageType: ''
    returnType: struct value
    signature: struct value *compile_bracket(struct term *exp, struct ctx *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1611,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1614,1
    - Dst: coerce
      Src: /src/augeas/src/syntax.c:1617,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1627,1
    - Dst: abort
      Src: /src/augeas/src/syntax.c:1628,1
    - Dst: make_value
      Src: /src/augeas/src/syntax.c:1630,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1630,1
    - Dst: regexp_iter
      Src: /src/augeas/src/syntax.c:1631,1
    - Dst: LNS_TYPE_CHECK
      Src: /src/augeas/src/syntax.c:1633,1
    - Dst: lns_make_star
      Src: /src/augeas/src/syntax.c:1635,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1635,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1635,1
    - Dst: lns_make_plus
      Src: /src/augeas/src/syntax.c:1637,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1637,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1637,1
    - Dst: lns_make_maybe
      Src: /src/augeas/src/syntax.c:1639,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1639,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1639,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1641,1
    - Dst: fatal_error
      Src: /src/augeas/src/syntax.c:1644,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1645,1
    - Dst: type_name
      Src: /src/augeas/src/syntax.c:1645,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - rep
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1626
        line_start: 1626
        source_file: /src/augeas/src/syntax.c
    - condition: (0)
      pos:
        line_end: 1640
        line_start: 1640
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1649
      start: 1610
    functionDepth: 4
    functionLinenumber: 1610
    functionLinenumberEnd: 1649
    functionName: compile_rep
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - compile_exp
    - LNS_TYPE_CHECK
    - lns_make_maybe
    - regexp_iter
    - EXN
    - fatal_error
    - coerce
    - ref
    - abort
    - lns_make_star
    - lns_make_plus
    - type_name
    - unref
    - assert
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *compile_rep(struct term *rep, struct ctx *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: compile_compose
      Src: /src/augeas/src/syntax.c:1657,1
    - Dst: compile_union
      Src: /src/augeas/src/syntax.c:1660,1
    - Dst: compile_minus
      Src: /src/augeas/src/syntax.c:1663,1
    - Dst: compile_concat
      Src: /src/augeas/src/syntax.c:1666,1
    - Dst: apply
      Src: /src/augeas/src/syntax.c:1669,1
    - Dst: native_call
      Src: /src/augeas/src/syntax.c:1673,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1675,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1679,1
    - Dst: ctx_lookup
      Src: /src/augeas/src/syntax.c:1679,1
    - Dst: compile_bracket
      Src: /src/augeas/src/syntax.c:1682,1
    - Dst: make_closure
      Src: /src/augeas/src/syntax.c:1685,1
    - Dst: compile_rep
      Src: /src/augeas/src/syntax.c:1688,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1691,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - info
    - exp
    - ctx
    argTypes:
    - struct info*
    - struct term*
    - struct ctx*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1690
        line_start: 1690
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1696
      start: 1651
    functionDepth: 5
    functionLinenumber: 1651
    functionLinenumberEnd: 1696
    functionName: compile_exp
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 7
    functionsReached:
    - compile_minus
    - compile_compose
    - ref
    - compile_concat
    - native_call
    - make_closure
    - apply
    - compile_rep
    - compile_union
    - compile_bracket
    - assert
    - ctx_lookup
    linkageType: ''
    returnType: struct value
    signature: "struct value *compile_exp(struct info *info,\n                                 struct
      term *exp, struct ctx *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1699,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1704,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:1705,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1706,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:1707,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1708,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1712,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:1713,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1714,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:1715,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1716,1
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1719,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1720,1
    - Dst: value_equal
      Src: /src/augeas/src/syntax.c:1722,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1723,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:1724,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1725,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1726,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:1727,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1728,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1729,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:1730,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1731,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1735,1
    - Dst: print_info
      Src: /src/augeas/src/syntax.c:1736,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1737,1
    - Dst: print_tree_braces
      Src: /src/augeas/src/syntax.c:1739,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:1741,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1743,1
    - Dst: reset_error
      Src: /src/augeas/src/syntax.c:1747,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1748,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1749,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 2
    argNames:
    - term
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1698
    functionDepth: 6
    functionLinenumber: 1698
    functionLinenumberEnd: 1751
    functionName: compile_test
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - compile_exp
    - print_info
    - EXN
    - value_equal
    - reset_error
    - print_value
    - print_tree_braces
    - printf
    - unref
    linkageType: ''
    returnType: int
    signature: int compile_test(struct term *term, struct ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compile_exp
      Src: /src/augeas/src/syntax.c:1757,1
    - Dst: bind
      Src: /src/augeas/src/syntax.c:1758,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1760,1
    - Dst: init_memstream
      Src: /src/augeas/src/syntax.c:1764,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1766,1
    - Dst: fprintf
      Src: /src/augeas/src/syntax.c:1768,1
    - Dst: print_value
      Src: /src/augeas/src/syntax.c:1769,1
    - Dst: close_memstream
      Src: /src/augeas/src/syntax.c:1770,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1773,1
    - Dst: EXN
      Src: /src/augeas/src/syntax.c:1776,1
    - Dst: HAS_ERR
      Src: /src/augeas/src/syntax.c:1776,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1777,1
    - Dst: compile_test
      Src: /src/augeas/src/syntax.c:1780,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1782,1
    - Dst: abort
      Src: /src/augeas/src/syntax.c:1783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - term
    - ctx
    argTypes:
    - struct term*
    - struct ctx*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1781
        line_start: 1781
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1784
      start: 1753
    functionDepth: 7
    functionLinenumber: 1753
    functionLinenumberEnd: 1784
    functionName: compile_decl
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - compile_exp
    - HAS_ERR
    - syntax_error
    - EXN
    - fprintf
    - print_value
    - free
    - assert
    - compile_test
    - unref
    - abort
    - close_memstream
    - bind
    - init_memstream
    linkageType: ''
    returnType: int
    signature: int compile_decl(struct term *term, struct ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1789,1
    - Dst: list_for_each
      Src: /src/augeas/src/syntax.c:1794,1
    - Dst: compile_decl
      Src: /src/augeas/src/syntax.c:1795,1
    - Dst: bnd_lookup
      Src: /src/augeas/src/syntax.c:1800,1
    - Dst: syntax_error
      Src: /src/augeas/src/syntax.c:1802,1
    - Dst: expect_types
      Src: /src/augeas/src/syntax.c:1806,1
    - Dst: module_create
      Src: /src/augeas/src/syntax.c:1810,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1812,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1815,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - term
    - aug
    argTypes:
    - struct term*
    - struct augeas*
    assertStmts:
    - condition: (term->tag == A_MODULE)
      pos:
        line_end: 1788
        line_start: 1788
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1817
      start: 1786
    functionDepth: 8
    functionLinenumber: 1786
    functionLinenumberEnd: 1817
    functionName: compile
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 5
    functionsReached:
    - compile_decl
    - syntax_error
    - ref
    - bnd_lookup
    - module_create
    - expect_types
    - list_for_each
    - unref
    - assert
    linkageType: ''
    returnType: struct module
    signature: struct module *compile(struct term *term, struct augeas *aug)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:1825,1
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:1830,1
    - Dst: strdup
      Src: /src/augeas/src/syntax.c:1832,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - error
    - fname
    - line
    argTypes:
    - struct error*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1837
    functionName: make_native_info
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - unref
    - strdup
    - make_ref
    linkageType: ''
    returnType: struct info
    signature: 'struct info *

      make_native_info(struct error *error, const char *fname, int line)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1843,1
    - Dst: assert
      Src: /src/augeas/src/syntax.c:1844,1
    - Dst: make_native_info
      Src: /src/augeas/src/syntax.c:1853,1
    - Dst: va_start
      Src: /src/augeas/src/syntax.c:1857,1
    - Dst: va_arg
      Src: /src/augeas/src/syntax.c:1861,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:1862,1
    - Dst: snprintf
      Src: /src/augeas/src/syntax.c:1863,1
    - Dst: make_param
      Src: /src/augeas/src/syntax.c:1864,1
    - Dst: strdup
      Src: /src/augeas/src/syntax.c:1864,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1864,1
    - Dst: list_append
      Src: /src/augeas/src/syntax.c:1865,1
    - Dst: va_arg
      Src: /src/augeas/src/syntax.c:1867,1
    - Dst: va_end
      Src: /src/augeas/src/syntax.c:1868,1
    - Dst: make_base_type
      Src: /src/augeas/src/syntax.c:1870,1
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:1872,1
    - Dst: ALLOC
      Src: /src/augeas/src/syntax.c:1879,1
    - Dst: make_ref
      Src: /src/augeas/src/syntax.c:1885,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1888,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1889,1
    - Dst: build_func
      Src: /src/augeas/src/syntax.c:1894,1
    - Dst: ref
      Src: /src/augeas/src/syntax.c:1899,1
    - Dst: check_exp
      Src: /src/augeas/src/syntax.c:1901,1
    - Dst: fatal_error
      Src: /src/augeas/src/syntax.c:1902,1
    - Dst: abort
      Src: /src/augeas/src/syntax.c:1904,1
    - Dst: make_closure
      Src: /src/augeas/src/syntax.c:1906,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1908,1
    - Dst: bind
      Src: /src/augeas/src/syntax.c:1911,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1912,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1913,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1914,1
    - Dst: list_for_each
      Src: /src/augeas/src/syntax.c:1919,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1920,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1922,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1923,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:1924,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 7
    argNames:
    - file
    - line
    - error
    - module
    - name
    - argc
    - impl
    argTypes:
    - char*
    - int
    - struct error*
    - struct module*
    - char*
    - int
    - func_impl
    assertStmts:
    - condition: (argc > 0)
      pos:
        line_end: 1842
        line_start: 1842
        source_file: /src/augeas/src/syntax.c
    - condition: (argc <= 5)
      pos:
        line_end: 1843
        line_start: 1843
        source_file: /src/augeas/src/syntax.c
    constantsTouched: []
    func_position:
      end: 1926
      start: 1839
    functionDepth: 7
    functionLinenumber: 1839
    functionLinenumberEnd: 1926
    functionName: define_native_intl
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - va_end
    - make_param
    - snprintf
    - va_start
    - build_func
    - strdup
    - assert
    - bind
    - make_base_type
    - ref
    - list_for_each
    - make_ref
    - abort
    - make_closure
    - fatal_error
    - check_exp
    - unref
    - list_append
    - va_arg
    - make_native_info
    - ALLOC
    linkageType: ''
    returnType: int
    signature: "int define_native_intl(const char *file, int line,\n                       struct
      error *error,\n                       struct module *module, const char *name,\n
      \                      int argc, func_impl impl, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/src/syntax.c:1935,1
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:1937,1
    - Dst: tolower
      Src: /src/augeas/src/syntax.c:1938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - modname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1940
    functionName: module_basename
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - strlen
    - asprintf
    - tolower
    linkageType: ''
    returnType: char
    signature: char *module_basename(const char *modname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: module_basename
      Src: /src/augeas/src/syntax.c:1945,1
    - Dst: index
      Src: /src/augeas/src/syntax.c:1951,1
    - Dst: argz_next
      Src: /src/augeas/src/syntax.c:1954,1
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:1955,1
    - Dst: strlen
      Src: /src/augeas/src/syntax.c:1955,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/syntax.c:1958,1
    - Dst: sprintf
      Src: /src/augeas/src/syntax.c:1960,1
    - Dst: stat
      Src: /src/augeas/src/syntax.c:1961,1
    - Dst: FREE
      Src: /src/augeas/src/syntax.c:1965,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:1967,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - aug
    - modname
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1969
    functionName: module_filename
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - FREE
    - sprintf
    - strlen
    - argz_next
    - index
    - stat
    - REALLOC_N
    - free
    - module_basename
    linkageType: ''
    returnType: char
    signature: char *module_filename(struct augeas *aug, const char *modname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1977,1
    - Dst: augl_parse_file
      Src: /src/augeas/src/syntax.c:1978,1
    - Dst: printf
      Src: /src/augeas/src/syntax.c:1980,1
    - Dst: HAS_ERR
      Src: /src/augeas/src/syntax.c:1980,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/syntax.c:1981,1
    - Dst: typecheck
      Src: /src/augeas/src/syntax.c:1983,1
    - Dst: compile
      Src: /src/augeas/src/syntax.c:1986,1
    - Dst: module_create
      Src: /src/augeas/src/syntax.c:1992,1
    - Dst: list_append
      Src: /src/augeas/src/syntax.c:1995,1
    - Dst: list_for_each
      Src: /src/augeas/src/syntax.c:1996,1
    - Dst: lens_release
      Src: /src/augeas/src/syntax.c:1998,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/syntax.c:2002,1
    - Dst: unref
      Src: /src/augeas/src/syntax.c:2008,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - aug
    - filename
    - name
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1971
    functionDepth: 9
    functionLinenumber: 1971
    functionLinenumberEnd: 2010
    functionName: load_module_file
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 1
    functionsReached:
    - lens_release
    - list_append
    - ERR_THROW
    - compile
    - augl_parse_file
    - ERR_BAIL
    - module_create
    - printf
    - list_for_each
    - unref
    - typecheck
    - HAS_ERR
    linkageType: ''
    returnType: int
    signature: "int load_module_file(struct augeas *aug, const char *filename,\n                     const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: module_find
      Src: /src/augeas/src/syntax.c:2015,1
    - Dst: module_filename
      Src: /src/augeas/src/syntax.c:2018,1
    - Dst: load_module_file
      Src: /src/augeas/src/syntax.c:2021,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:2024,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:2028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - aug
    - name
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2012
    functionDepth: 10
    functionLinenumber: 2012
    functionLinenumberEnd: 2030
    functionName: load_module
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 2
    functionsReached:
    - load_module_file
    - module_filename
    - free
    - module_find
    linkageType: ''
    returnType: int
    signature: int load_module(struct augeas *aug, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: init_fatal_exn
      Src: /src/augeas/src/syntax.c:2035,1
    - Dst: builtin_init
      Src: /src/augeas/src/syntax.c:2039,1
    - Dst: MEMZERO
      Src: /src/augeas/src/syntax.c:2048,1
    - Dst: argz_next
      Src: /src/augeas/src/syntax.c:2050,1
    - Dst: asprintf
      Src: /src/augeas/src/syntax.c:2052,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/syntax.c:2053,1
    - Dst: glob
      Src: /src/augeas/src/syntax.c:2055,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/syntax.c:2061,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:2062,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:2066,1
    - Dst: strrchr
      Src: /src/augeas/src/syntax.c:2072,1
    - Dst: strchr
      Src: /src/augeas/src/syntax.c:2077,1
    - Dst: strndup
      Src: /src/augeas/src/syntax.c:2078,1
    - Dst: toupper
      Src: /src/augeas/src/syntax.c:2079,1
    - Dst: load_module
      Src: /src/augeas/src/syntax.c:2080,1
    - Dst: free
      Src: /src/augeas/src/syntax.c:2081,1
    - Dst: globfree
      Src: /src/augeas/src/syntax.c:2085,1
    - Dst: globfree
      Src: /src/augeas/src/syntax.c:2088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2032
    functionDepth: 2
    functionLinenumber: 2032
    functionLinenumberEnd: 2090
    functionName: interpreter_init
    functionSourceFile: /src/augeas/src/syntax.c
    functionUses: 0
    functionsReached:
    - toupper
    - strndup
    - MEMZERO
    - globfree
    - init_fatal_exn
    - ERR_REPORT
    - builtin_init
    - glob
    - strchr
    - strrchr
    - asprintf
    - argz_next
    - load_module
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: int
    signature: int interpreter_init(struct augeas *aug)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/regexp.c:41,1
    - Dst: fa_restrict_alphabet
      Src: /src/augeas/src/regexp.c:50,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:50,1
    - Dst: escape
      Src: /src/augeas/src/regexp.c:53,1
    - Dst: free
      Src: /src/augeas/src/regexp.c:54,1
    - Dst: index
      Src: /src/augeas/src/regexp.c:61,1
    - Dst: strdup
      Src: /src/augeas/src/regexp.c:62,1
    - Dst: STREQLEN
      Src: /src/augeas/src/regexp.c:65,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:65,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:67,1
    - Dst: STREQLEN
      Src: /src/augeas/src/regexp.c:68,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:69,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:71,1
    - Dst: escape
      Src: /src/augeas/src/regexp.c:77,1
    - Dst: free
      Src: /src/augeas/src/regexp.c:78,1
    - Dst: escape
      Src: /src/augeas/src/regexp.c:80,1
    - Dst: memmove
      Src: /src/augeas/src/regexp.c:92,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:92,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:98,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:100,1
    - Dst: memmove
      Src: /src/augeas/src/regexp.c:109,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:109,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:110,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 115
    functionName: regexp_escape
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - STREQLEN
    - escape
    - fa_restrict_alphabet
    - strlen
    - strdup
    - memmove
    - index
    - free
    linkageType: ''
    returnType: char
    signature: char *regexp_escape(const struct regexp *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/regexp.c:119,1
    - Dst: fputc
      Src: /src/augeas/src/regexp.c:123,1
    - Dst: fprintf
      Src: /src/augeas/src/regexp.c:125,1
    - Dst: fa_restrict_alphabet
      Src: /src/augeas/src/regexp.c:129,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:129,1
    - Dst: print_chars
      Src: /src/augeas/src/regexp.c:131,1
    - Dst: FREE
      Src: /src/augeas/src/regexp.c:132,1
    - Dst: fputc
      Src: /src/augeas/src/regexp.c:134,1
    - Dst: fputc
      Src: /src/augeas/src/regexp.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - out
    - r
    argTypes:
    - FILE*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: print_regexp
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 5
    functionsReached:
    - fprintf
    - fputc
    - FREE
    - fa_restrict_alphabet
    - strlen
    - print_chars
    linkageType: ''
    returnType: void
    signature: void print_regexp(FILE *out, struct regexp *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unescape
      Src: /src/augeas/src/regexp.c:141,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:141,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - info
    - pat
    - nocase
    argTypes:
    - struct info*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: make_regexp_unescape
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - make_regexp
    - unescape
    - strlen
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      make_regexp_unescape(struct info *info, const char *pat, int nocase)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/regexp.c:151,1
    - Dst: ref
      Src: /src/augeas/src/regexp.c:152,1
    - Dst: make_ref
      Src: /src/augeas/src/regexp.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - info
    - pat
    - nocase
    argTypes:
    - struct info*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: make_regexp
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - ref
    - make_ref
    linkageType: ''
    returnType: struct regexp
    signature: struct regexp *make_regexp(struct info *info, char *pat, int nocase)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:174,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:181,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:183,1
    - Dst: strchr
      Src: /src/augeas/src/regexp.c:184,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/regexp.c:188,1
    - Dst: stpcpy
      Src: /src/augeas/src/regexp.c:197,1
    - Dst: stpcpy
      Src: /src/augeas/src/regexp.c:199,1
    - Dst: strchr
      Src: /src/augeas/src/regexp.c:200,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:208,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - info
    - glob
    argTypes:
    - struct info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 209
    functionName: make_regexp_from_glob
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - strchr
    - make_regexp
    - strlen
    - stpcpy
    linkageType: ''
    returnType: struct regexp
    signature: struct regexp *make_regexp_from_glob(struct info *info, const char
      *glob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/regexp.c:214,1
    - Dst: unref
      Src: /src/augeas/src/regexp.c:215,1
    - Dst: unref
      Src: /src/augeas/src/regexp.c:216,1
    - Dst: regfree
      Src: /src/augeas/src/regexp.c:218,1
    - Dst: free
      Src: /src/augeas/src/regexp.c:219,1
    - Dst: free
      Src: /src/augeas/src/regexp.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - regexp
    argTypes:
    - struct regexp*
    assertStmts:
    - condition: (regexp->ref == 0)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/augeas/src/regexp.c
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: free_regexp
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - regfree
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_regexp(struct regexp *regexp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: regexp_is_empty_pattern
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int regexp_is_empty_pattern(struct regexp *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/regexp.c:237,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:237,1
    - Dst: strchr
      Src: /src/augeas/src/regexp.c:244,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - info
    - text
    argTypes:
    - struct info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: make_regexp_literal
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - strlen
    - strchr
    - make_regexp
    - ALLOC_N
    linkageType: ''
    returnType: struct regexp
    signature: struct regexp *make_regexp_literal(struct info *info, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexp_union_n
      Src: /src/augeas/src/regexp.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - info
    - r1
    - r2
    argTypes:
    - struct info*
    - struct regexp*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: regexp_union
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - regexp_union_n
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      regexp_union(struct info *info, struct regexp *r1, struct regexp *r2)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/regexp.c:271,1
    - Dst: fa_expand_nocase
      Src: /src/augeas/src/regexp.c:273,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:273,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/regexp.c:274,1
    - Dst: BUG_ON
      Src: /src/augeas/src/regexp.c:275,1
    - Dst: BUG_ON
      Src: /src/augeas/src/regexp.c:283,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/regexp.c:287,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:287,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/regexp.c:288,1
    - Dst: stpcpy
      Src: /src/augeas/src/regexp.c:291,1
    - Dst: free
      Src: /src/augeas/src/regexp.c:293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: regexp_expand_nocase
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - strlen
    - strdup
    - fa_expand_nocase
    - stpcpy
    - ERR_NOMEM
    - free
    - BUG_ON
    linkageType: ''
    returnType: char
    signature: char *regexp_expand_nocase(struct regexp *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexp_expand_nocase
      Src: /src/augeas/src/regexp.c:306,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/regexp.c:307,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:309,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:309,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/regexp.c:311,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/regexp.c:312,1
    - Dst: stpcpy
      Src: /src/augeas/src/regexp.c:314,1
    - Dst: FREE
      Src: /src/augeas/src/regexp.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - r
    - pat
    - p
    - len
    argTypes:
    - struct regexp*
    - char**
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 318
    functionName: append_expanded
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    - FREE
    - ERR_BAIL
    - strlen
    - regexp_expand_nocase
    - stpcpy
    - ERR_NOMEM
    linkageType: ''
    returnType: char
    signature: "char *append_expanded(struct regexp *r, char **pat, char *p,\n                             size_t
      *len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:328,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:328,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/regexp.c:339,1
    - Dst: append_expanded
      Src: /src/augeas/src/regexp.c:351,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/regexp.c:352,1
    - Dst: stpcpy
      Src: /src/augeas/src/regexp.c:354,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:360,1
    - Dst: FREE
      Src: /src/augeas/src/regexp.c:362,1
    - Dst: FREE
      Src: /src/augeas/src/regexp.c:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - info
    - n
    - r
    argTypes:
    - struct info*
    - int
    - struct regexp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 365
    functionName: regexp_union_n
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - ALLOC_N
    - FREE
    - ERR_BAIL
    - make_regexp
    - strlen
    - stpcpy
    - append_expanded
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      regexp_union_n(struct info *info, int n, struct regexp **r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexp_concat_n
      Src: /src/augeas/src/regexp.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - info
    - r1
    - r2
    argTypes:
    - struct info*
    - struct regexp*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: regexp_concat
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - regexp_concat_n
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      regexp_concat(struct info *info, struct regexp *r1, struct regexp *r2)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:384,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:384,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/regexp.c:396,1
    - Dst: append_expanded
      Src: /src/augeas/src/regexp.c:405,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/regexp.c:406,1
    - Dst: stpcpy
      Src: /src/augeas/src/regexp.c:408,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:413,1
    - Dst: FREE
      Src: /src/augeas/src/regexp.c:415,1
    - Dst: FREE
      Src: /src/augeas/src/regexp.c:416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - info
    - n
    - r
    argTypes:
    - struct info*
    - int
    - struct regexp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 418
    functionName: regexp_concat_n
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - ALLOC_N
    - FREE
    - ERR_BAIL
    - make_regexp
    - strlen
    - stpcpy
    - append_expanded
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      regexp_concat_n(struct info *info, int n, struct regexp **r)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fa_compile
      Src: /src/augeas/src/regexp.c:425,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:425,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/regexp.c:426,1
    - Dst: BUG_ON
      Src: /src/augeas/src/regexp.c:427,1
    - Dst: fa_nocase
      Src: /src/augeas/src/regexp.c:430,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/regexp.c:431,1
    - Dst: fa_free
      Src: /src/augeas/src/regexp.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 438
    functionName: regexp_to_fa
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - fa_compile
    - fa_nocase
    - fa_free
    - strlen
    - ERR_NOMEM
    - BUG_ON
    linkageType: ''
    returnType: struct fa
    signature: struct fa *regexp_to_fa(struct regexp *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regexp_to_fa
      Src: /src/augeas/src/regexp.c:448,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/regexp.c:449,1
    - Dst: regexp_to_fa
      Src: /src/augeas/src/regexp.c:451,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/regexp.c:452,1
    - Dst: fa_minus
      Src: /src/augeas/src/regexp.c:454,1
    - Dst: fa_as_regexp
      Src: /src/augeas/src/regexp.c:458,1
    - Dst: regexp_c_locale
      Src: /src/augeas/src/regexp.c:467,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:470,1
    - Dst: fa_is_nocase
      Src: /src/augeas/src/regexp.c:470,1
    - Dst: fa_free
      Src: /src/augeas/src/regexp.c:474,1
    - Dst: fa_free
      Src: /src/augeas/src/regexp.c:475,1
    - Dst: fa_free
      Src: /src/augeas/src/regexp.c:476,1
    - Dst: free
      Src: /src/augeas/src/regexp.c:477,1
    - Dst: unref
      Src: /src/augeas/src/regexp.c:480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - info
    - r1
    - r2
    argTypes:
    - struct info*
    - struct regexp*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 482
    functionName: regexp_minus
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - fa_is_nocase
    - regexp_to_fa
    - fa_as_regexp
    - ERR_BAIL
    - fa_free
    - fa_minus
    - regexp_c_locale
    - make_regexp
    - unref
    - free
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      regexp_minus(struct info *info, struct regexp *r1, struct regexp *r2)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/src/regexp.c:497,1
    - Dst: asprintf
      Src: /src/augeas/src/regexp.c:499,1
    - Dst: asprintf
      Src: /src/augeas/src/regexp.c:501,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - info
    - r
    - min
    - max
    argTypes:
    - struct info*
    - struct regexp*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 504
    functionName: regexp_iter
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - make_regexp
    - asprintf
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      regexp_iter(struct info *info, struct regexp *r, int min, int max)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/src/regexp.c:515,1
    - Dst: make_regexp
      Src: /src/augeas/src/regexp.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - r
    argTypes:
    - struct info*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: regexp_maybe
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - make_regexp
    - asprintf
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      regexp_maybe(struct info *info, struct regexp *r)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/regexp.c:522,1
    - Dst: ref
      Src: /src/augeas/src/regexp.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: regexp_make_empty
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - ref
    - make_ref
    linkageType: ''
    returnType: struct regexp
    signature: struct regexp *regexp_make_empty(struct info *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/regexp.c:549,1
    - Dst: re_compile_pattern
      Src: /src/augeas/src/regexp.c:556,1
    - Dst: strlen
      Src: /src/augeas/src/regexp.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - struct regexp*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 563
    functionName: regexp_compile_internal
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - strlen
    - re_compile_pattern
    - ALLOC
    linkageType: ''
    returnType: int
    signature: int regexp_compile_internal(struct regexp *r, const char **c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexp_compile_internal
      Src: /src/augeas/src/regexp.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: regexp_compile
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - regexp_compile_internal
    linkageType: ''
    returnType: int
    signature: int regexp_compile(struct regexp *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexp_compile_internal
      Src: /src/augeas/src/regexp.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - msg
    argTypes:
    - struct regexp*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: regexp_check
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - regexp_compile_internal
    linkageType: ''
    returnType: int
    signature: int regexp_check(struct regexp *r, const char **msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regexp_compile
      Src: /src/augeas/src/regexp.c:579,1
    - Dst: re_match
      Src: /src/augeas/src/regexp.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - r
    - string
    - size
    - start
    - regs
    argTypes:
    - struct regexp*
    - char*
    - int
    - int
    - struct re_registers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: regexp_match
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 2
    functionsReached:
    - re_match
    - regexp_compile
    linkageType: ''
    returnType: int
    signature: "int regexp_match(struct regexp *r,\n                 const char *string,
      const int size,\n                 const int start, struct re_registers *regs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexp_match
      Src: /src/augeas/src/regexp.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: regexp_matches_empty
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 1
    functionsReached:
    - regexp_match
    linkageType: ''
    returnType: int
    signature: int regexp_matches_empty(struct regexp *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regexp_compile
      Src: /src/augeas/src/regexp.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: regexp_nsub
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - regexp_compile
    linkageType: ''
    returnType: int
    signature: int regexp_nsub(struct regexp *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/augeas/src/regexp.c:598,1
    - Dst: FREE
      Src: /src/augeas/src/regexp.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - regexp
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: regexp_release
    functionSourceFile: /src/augeas/src/regexp.c
    functionUses: 0
    functionsReached:
    - regfree
    - FREE
    linkageType: ''
    returnType: void
    signature: void regexp_release(struct regexp *regexp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/put.c:83,1
    - Dst: ref
      Src: /src/augeas/src/put.c:85,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:87,1
    - Dst: strdup
      Src: /src/augeas/src/put.c:88,1
    - Dst: strdup
      Src: /src/augeas/src/put.c:90,1
    - Dst: va_start
      Src: /src/augeas/src/put.c:93,1
    - Dst: vasprintf
      Src: /src/augeas/src/put.c:94,1
    - Dst: va_end
      Src: /src/augeas/src/put.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - state
    - lens
    - format
    argTypes:
    - struct state*
    - struct lens*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: put_error
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - ref
    - strdup
    - strlen
    - vasprintf
    - ALLOC
    linkageType: ''
    returnType: void
    signature: "void put_error(struct state *state, struct lens *lens,\n                      const
      char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENCLEN
      Src: /src/augeas/src/put.c:102,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:102,1
    - Dst: ENCLEN
      Src: /src/augeas/src/put.c:102,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: enclen
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - ENCLEN
    - strlen
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE enclen(const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/augeas/src/put.c:107,1
    - Dst: ENCSTR
      Src: /src/augeas/src/put.c:107,1
    - Dst: stpcpy
      Src: /src/augeas/src/put.c:108,1
    - Dst: stpcpy
      Src: /src/augeas/src/put.c:109,1
    - Dst: ENCSTR
      Src: /src/augeas/src/put.c:109,1
    - Dst: stpcpy
      Src: /src/augeas/src/put.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - e
    - key
    - value
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: encpcpy
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - stpcpy
    - ENCSTR
    linkageType: ''
    returnType: char
    signature: char *encpcpy(char *e, const char *key, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lns_format_atype
      Src: /src/augeas/src/put.c:119,1
    - Dst: enc_format_indent
      Src: /src/augeas/src/put.c:120,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:125,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:129,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:134,1
    - Dst: free
      Src: /src/augeas/src/put.c:136,1
    - Dst: free
      Src: /src/augeas/src/put.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - state
    - lens
    - count
    - split
    argTypes:
    - struct state*
    - struct lens*
    - int
    - struct split*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: regexp_match_error
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - free
    - lns_format_atype
    - enc_format_indent
    - put_error
    linkageType: ''
    returnType: void
    signature: "void regexp_match_error(struct state *state, struct lens *lens,\n
      \                              int count, struct split *split)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/put.c:144,1
    - Dst: free
      Src: /src/augeas/src/put.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - split
    argTypes:
    - struct split*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: free_split
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_split(struct split *split)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/put.c:153,1
    - Dst: enclen
      Src: /src/augeas/src/put.c:158,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/put.c:161,1
    - Dst: encpcpy
      Src: /src/augeas/src/put.c:166,1
    - Dst: free_split
      Src: /src/augeas/src/put.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: make_split
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - encpcpy
    - free_split
    - enclen
    - ALLOC
    linkageType: ''
    returnType: struct split
    signature: struct split *make_split(struct tree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enclen
      Src: /src/augeas/src/put.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 13
    functionsReached:
    - enclen
    linkageType: ''
    returnType: void
    signature: void list_for_each(t, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encpcpy
      Src: /src/augeas/src/put.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 13
    functionsReached:
    - encpcpy
    linkageType: ''
    returnType: void
    signature: void list_for_each(t, tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/put.c:178,1
    - Dst: list_tail_cons
      Src: /src/augeas/src/put.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - split
    - tail
    - tree
    - follow
    - enc
    - start
    - end
    argTypes:
    - struct split**
    - struct split*
    - struct tree*
    - struct tree*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: split_append
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - list_tail_cons
    - ALLOC
    linkageType: ''
    returnType: struct split
    signature: "struct split *split_append(struct split **split, struct split *tail,\n
      \                                 struct tree *tree, struct tree *follow,\n
      \                                 char *enc, size_t start, size_t end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: next_split
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct split
    signature: struct split *next_split(struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - state
    - split
    argTypes:
    - struct state*
    - struct split*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: set_split
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct split
    signature: struct split *set_split(struct state *state, struct split *split)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:207,1
    - Dst: MEMZERO
      Src: /src/augeas/src/put.c:215,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:219,1
    - Dst: regexp_is_empty_pattern
      Src: /src/augeas/src/put.c:220,1
    - Dst: split_append
      Src: /src/augeas/src/put.c:222,1
    - Dst: regexp_match
      Src: /src/augeas/src/put.c:230,1
    - Dst: regexp_match_error
      Src: /src/augeas/src/put.c:235,1
    - Dst: assert
      Src: /src/augeas/src/put.c:242,1
    - Dst: assert
      Src: /src/augeas/src/put.c:243,1
    - Dst: split_append
      Src: /src/augeas/src/put.c:249,1
    - Dst: regexp_nsub
      Src: /src/augeas/src/put.c:252,1
    - Dst: assert
      Src: /src/augeas/src/put.c:254,1
    - Dst: free
      Src: /src/augeas/src/put.c:256,1
    - Dst: free
      Src: /src/augeas/src/put.c:257,1
    - Dst: free_split
      Src: /src/augeas/src/put.c:260,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - state
    - lens
    argTypes:
    - struct state*
    - struct lens*
    assertStmts:
    - condition: (lens->tag == L_CONCAT)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/augeas/src/put.c
    - condition: (reg < regs.num_regs)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/augeas/src/put.c
    - condition: (regs.start[reg] != -1)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/augeas/src/put.c
    - condition: (reg < regs.num_regs)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 263
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 263
    functionName: split_concat
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - MEMZERO
    - split_append
    - regexp_is_empty_pattern
    - regexp_match
    - regexp_nsub
    - strlen
    - regexp_match_error
    - free_split
    - assert
    - free
    linkageType: ''
    returnType: struct split
    signature: struct split *split_concat(struct state *state, struct lens *lens)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:266,1
    - Dst: regexp_match
      Src: /src/augeas/src/put.c:277,1
    - Dst: regexp_match_error
      Src: /src/augeas/src/put.c:281,1
    - Dst: split_append
      Src: /src/augeas/src/put.c:290,1
    - Dst: free_split
      Src: /src/augeas/src/put.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - state
    - lens
    argTypes:
    - struct state*
    - struct lens*
    assertStmts:
    - condition: (lens->tag == L_STAR)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 299
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 299
    functionName: split_iter
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - split_append
    - regexp_match
    - regexp_match_error
    - free_split
    - assert
    linkageType: ''
    returnType: struct split
    signature: struct split *split_iter(struct state *state, struct lens *lens)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regexp_match
      Src: /src/augeas/src/put.c:306,1
    - Dst: regexp_match_error
      Src: /src/augeas/src/put.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: applies
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - regexp_match
    - regexp_match_error
    linkageType: ''
    returnType: int
    signature: int applies(struct lens *lens, struct state *state)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: regexp_match
      Src: /src/augeas/src/put.c:333,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:333,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:335,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:355,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:365,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:374,1
    - Dst: list_for_each
      Src: /src/augeas/src/put.c:378,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:379,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:384,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:387,1
    - Dst: BUG_ON
      Src: /src/augeas/src/put.c:389,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 2
    argNames:
    - lens
    - skel
    argTypes:
    - struct lens*
    - struct skel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 394
    functionName: skel_instance_of
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 1
    functionsReached:
    - skel_instance_of
    - regexp_match
    - list_for_each
    - strlen
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: int skel_instance_of(struct lens *lens, struct skel *skel)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/augeas/src/put.c:402,1
    - Dst: fprintf
      Src: /src/augeas/src/put.c:409,1
    - Dst: ftell
      Src: /src/augeas/src/put.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - state
    - text
    - kind
    argTypes:
    - struct state*
    - char*
    - enum span_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 418
    functionName: emit
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - ftell
    - fprintf
    linkageType: ''
    returnType: void
    signature: void emit(struct state *state, const char *text, enum span_kind kind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:424,1
    - Dst: path_of_tree
      Src: /src/augeas/src/put.c:433,1
    - Dst: make_split
      Src: /src/augeas/src/put.c:435,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:436,1
    - Dst: dict_lookup
      Src: /src/augeas/src/put.c:438,1
    - Dst: make_span
      Src: /src/augeas/src/put.c:441,1
    - Dst: ftell
      Src: /src/augeas/src/put.c:443,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:445,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:446,1
    - Dst: put_lens
      Src: /src/augeas/src/put.c:448,1
    - Dst: assert
      Src: /src/augeas/src/put.c:450,1
    - Dst: ftell
      Src: /src/augeas/src/put.c:452,1
    - Dst: free_split
      Src: /src/augeas/src/put.c:459,1
    - Dst: free
      Src: /src/augeas/src/put.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_SUBTREE)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/augeas/src/put.c
    - condition: (state->error != NULL || state->split->next == NULL)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 462
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 462
    functionName: put_subtree
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - path_of_tree
    - set_split
    - ftell
    - skel_instance_of
    - make_span
    - make_split
    - create_lens
    - put_lens
    - free_split
    - assert
    - free
    - dict_lookup
    linkageType: ''
    returnType: void
    signature: void put_subtree(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:465,1
    - Dst: assert
      Src: /src/augeas/src/put.c:466,1
    - Dst: assert
      Src: /src/augeas/src/put.c:467,1
    - Dst: emit
      Src: /src/augeas/src/put.c:469,1
    - Dst: emit
      Src: /src/augeas/src/put.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - ATTRIBUTE_UNUSED*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_DEL)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/augeas/src/put.c
    - condition: (state->skel->tag == L_DEL)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/augeas/src/put.c
    - condition: (state->skel != NULL)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: put_del
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - assert
    - emit
    linkageType: ''
    returnType: void
    signature: void put_del(ATTRIBUTE_UNUSED struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:476,1
    - Dst: applies
      Src: /src/augeas/src/put.c:480,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:481,1
    - Dst: put_lens
      Src: /src/augeas/src/put.c:482,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:484,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_UNION)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: put_union
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - skel_instance_of
    - applies
    - create_lens
    - put_lens
    - assert
    - put_error
    linkageType: ''
    returnType: void
    signature: void put_union(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:492,1
    - Dst: split_concat
      Src: /src/augeas/src/put.c:496,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:499,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:502,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:504,1
    - Dst: put_lens
      Src: /src/augeas/src/put.c:507,1
    - Dst: next_split
      Src: /src/augeas/src/put.c:509,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:511,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_CONCAT)
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 514
      start: 491
    functionDepth: 5
    functionLinenumber: 491
    functionLinenumberEnd: 514
    functionName: put_concat
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - set_split
    - next_split
    - list_free
    - put_lens
    - assert
    - put_error
    - split_concat
    linkageType: ''
    returnType: void
    signature: void put_concat(struct lens *lens, struct state *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lns_format_atype
      Src: /src/augeas/src/put.c:531,1
    - Dst: enc_format_indent
      Src: /src/augeas/src/put.c:532,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:532,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:535,1
    - Dst: path_of_tree
      Src: /src/augeas/src/put.c:539,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:540,1
    - Dst: free
      Src: /src/augeas/src/put.c:543,1
    - Dst: free
      Src: /src/augeas/src/put.c:545,1
    - Dst: free
      Src: /src/augeas/src/put.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - last_split
    - lens
    - state
    - enc
    argTypes:
    - struct split*
    - struct lens*
    - struct state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 547
    functionName: error_quant_star
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - path_of_tree
    - enc_format_indent
    - lns_format_atype
    - strlen
    - free
    - put_error
    linkageType: ''
    returnType: void
    signature: "void error_quant_star(struct split *last_split, struct lens *lens,\n
      \                            struct state *state, const char *enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:550,1
    - Dst: split_iter
      Src: /src/augeas/src/put.c:555,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:558,1
    - Dst: put_lens
      Src: /src/augeas/src/put.c:561,1
    - Dst: next_split
      Src: /src/augeas/src/put.c:564,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:567,1
    - Dst: next_split
      Src: /src/augeas/src/put.c:569,1
    - Dst: error_quant_star
      Src: /src/augeas/src/put.c:572,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:573,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_STAR)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 576
      start: 549
    functionDepth: 5
    functionLinenumber: 549
    functionLinenumberEnd: 576
    functionName: put_quant_star
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - set_split
    - split_iter
    - list_free
    - error_quant_star
    - create_lens
    - put_lens
    - next_split
    - assert
    linkageType: ''
    returnType: void
    signature: void put_quant_star(struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:579,1
    - Dst: applies
      Src: /src/augeas/src/put.c:582,1
    - Dst: skel_instance_of
      Src: /src/augeas/src/put.c:583,1
    - Dst: put_lens
      Src: /src/augeas/src/put.c:584,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_MAYBE)
      pos:
        line_end: 578
        line_start: 578
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 588
      start: 578
    functionDepth: 5
    functionLinenumber: 578
    functionLinenumberEnd: 588
    functionName: put_quant_maybe
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - skel_instance_of
    - applies
    - create_lens
    - put_lens
    - assert
    linkageType: ''
    returnType: void
    signature: void put_quant_maybe(struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_error
      Src: /src/augeas/src/put.c:594,1
    - Dst: regexp_match
      Src: /src/augeas/src/put.c:596,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:596,1
    - Dst: strlen
      Src: /src/augeas/src/put.c:597,1
    - Dst: regexp_escape
      Src: /src/augeas/src/put.c:598,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:599,1
    - Dst: free
      Src: /src/augeas/src/put.c:602,1
    - Dst: emit
      Src: /src/augeas/src/put.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 606
    functionName: put_store
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - regexp_match
    - regexp_escape
    - strlen
    - emit
    - free
    - put_error
    linkageType: ''
    returnType: void
    signature: void put_store(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_lens
      Src: /src/augeas/src/put.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: put_rec
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - put_lens
    linkageType: ''
    returnType: void
    signature: void put_rec(struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:613,1
    - Dst: split_concat
      Src: /src/augeas/src/put.c:618,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:622,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:625,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:626,1
    - Dst: put_lens
      Src: /src/augeas/src/put.c:632,1
    - Dst: next_split
      Src: /src/augeas/src/put.c:635,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:637,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_SQUARE)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 640
      start: 612
    functionDepth: 5
    functionLinenumber: 612
    functionLinenumberEnd: 640
    functionName: put_square
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - set_split
    - next_split
    - list_free
    - put_lens
    - assert
    - put_error
    - split_concat
    linkageType: ''
    returnType: void
    signature: void put_square(struct lens *lens, struct state *state)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: put_del
      Src: /src/augeas/src/put.c:648,1
    - Dst: put_store
      Src: /src/augeas/src/put.c:651,1
    - Dst: emit
      Src: /src/augeas/src/put.c:654,1
    - Dst: put_concat
      Src: /src/augeas/src/put.c:667,1
    - Dst: put_union
      Src: /src/augeas/src/put.c:670,1
    - Dst: put_subtree
      Src: /src/augeas/src/put.c:673,1
    - Dst: put_quant_star
      Src: /src/augeas/src/put.c:676,1
    - Dst: put_quant_maybe
      Src: /src/augeas/src/put.c:679,1
    - Dst: put_rec
      Src: /src/augeas/src/put.c:682,1
    - Dst: put_square
      Src: /src/augeas/src/put.c:685,1
    - Dst: assert
      Src: /src/augeas/src/put.c:688,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 691
      start: 642
    functionDepth: 6
    functionLinenumber: 642
    functionLinenumberEnd: 691
    functionName: put_lens
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 7
    functionsReached:
    - put_rec
    - put_union
    - put_quant_maybe
    - put_subtree
    - put_quant_star
    - emit
    - put_square
    - put_del
    - put_store
    - assert
    - put_concat
    linkageType: ''
    returnType: void
    signature: void put_lens(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_subtree
      Src: /src/augeas/src/put.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 695
    functionName: create_subtree
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - put_subtree
    linkageType: ''
    returnType: void
    signature: void create_subtree(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:698,1
    - Dst: emit
      Src: /src/augeas/src/put.c:700,1
    - Dst: emit
      Src: /src/augeas/src/put.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_DEL)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: create_del
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - assert
    - emit
    linkageType: ''
    returnType: void
    signature: void create_del(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:707,1
    - Dst: applies
      Src: /src/augeas/src/put.c:710,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:711,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_UNION)
      pos:
        line_end: 706
        line_start: 706
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 5
    functionLinenumber: 706
    functionLinenumberEnd: 716
    functionName: create_union
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - applies
    - assert
    - put_error
    - create_lens
    linkageType: ''
    returnType: void
    signature: void create_union(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:719,1
    - Dst: split_concat
      Src: /src/augeas/src/put.c:722,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:724,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:727,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:729,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:732,1
    - Dst: next_split
      Src: /src/augeas/src/put.c:733,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:735,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_CONCAT)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 737
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 737
    functionName: create_concat
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - set_split
    - next_split
    - list_free
    - create_lens
    - assert
    - put_error
    - split_concat
    linkageType: ''
    returnType: void
    signature: void create_concat(struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:740,1
    - Dst: split_concat
      Src: /src/augeas/src/put.c:744,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:747,1
    - Dst: put_error
      Src: /src/augeas/src/put.c:750,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:751,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:757,1
    - Dst: next_split
      Src: /src/augeas/src/put.c:759,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:761,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_SQUARE)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 763
      start: 739
    functionDepth: 5
    functionLinenumber: 739
    functionLinenumberEnd: 763
    functionName: create_square
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - set_split
    - next_split
    - list_free
    - create_lens
    - assert
    - put_error
    - split_concat
    linkageType: ''
    returnType: void
    signature: void create_square(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:766,1
    - Dst: split_iter
      Src: /src/augeas/src/put.c:770,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:772,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:775,1
    - Dst: next_split
      Src: /src/augeas/src/put.c:777,1
    - Dst: error_quant_star
      Src: /src/augeas/src/put.c:780,1
    - Dst: list_free
      Src: /src/augeas/src/put.c:781,1
    - Dst: set_split
      Src: /src/augeas/src/put.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_STAR)
      pos:
        line_end: 765
        line_start: 765
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 783
      start: 765
    functionDepth: 5
    functionLinenumber: 765
    functionLinenumberEnd: 783
    functionName: create_quant_star
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - set_split
    - split_iter
    - list_free
    - error_quant_star
    - create_lens
    - next_split
    - assert
    linkageType: ''
    returnType: void
    signature: void create_quant_star(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/put.c:786,1
    - Dst: applies
      Src: /src/augeas/src/put.c:788,1
    - Dst: create_lens
      Src: /src/augeas/src/put.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (lens->tag == L_MAYBE)
      pos:
        line_end: 785
        line_start: 785
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 5
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: create_quant_maybe
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - applies
    - assert
    - create_lens
    linkageType: ''
    returnType: void
    signature: void create_quant_maybe(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_lens
      Src: /src/augeas/src/put.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: create_rec
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - create_lens
    linkageType: ''
    returnType: void
    signature: void create_rec(struct lens *lens, struct state *state)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: create_del
      Src: /src/augeas/src/put.c:802,1
    - Dst: put_store
      Src: /src/augeas/src/put.c:805,1
    - Dst: emit
      Src: /src/augeas/src/put.c:808,1
    - Dst: create_concat
      Src: /src/augeas/src/put.c:821,1
    - Dst: create_union
      Src: /src/augeas/src/put.c:824,1
    - Dst: create_subtree
      Src: /src/augeas/src/put.c:827,1
    - Dst: create_quant_star
      Src: /src/augeas/src/put.c:830,1
    - Dst: create_quant_maybe
      Src: /src/augeas/src/put.c:833,1
    - Dst: create_rec
      Src: /src/augeas/src/put.c:836,1
    - Dst: create_square
      Src: /src/augeas/src/put.c:839,1
    - Dst: assert
      Src: /src/augeas/src/put.c:842,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/augeas/src/put.c
    constantsTouched: []
    func_position:
      end: 845
      start: 797
    functionDepth: 7
    functionLinenumber: 797
    functionLinenumberEnd: 845
    functionName: create_lens
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 10
    functionsReached:
    - create_del
    - create_quant_star
    - create_square
    - create_subtree
    - create_union
    - create_concat
    - create_rec
    - create_quant_maybe
    - emit
    - put_store
    - assert
    linkageType: ''
    returnType: void
    signature: void create_lens(struct lens *lens, struct state *state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/put.c:857,1
    - Dst: strdup
      Src: /src/augeas/src/put.c:858,1
    - Dst: lns_parse
      Src: /src/augeas/src/put.c:859,1
    - Dst: free_lns_error
      Src: /src/augeas/src/put.c:865,1
    - Dst: make_split
      Src: /src/augeas/src/put.c:869,1
    - Dst: make_span
      Src: /src/augeas/src/put.c:875,1
    - Dst: ftell
      Src: /src/augeas/src/put.c:877,1
    - Dst: put_lens
      Src: /src/augeas/src/put.c:879,1
    - Dst: ftell
      Src: /src/augeas/src/put.c:881,1
    - Dst: free_lns_error
      Src: /src/augeas/src/put.c:886,1
    - Dst: free
      Src: /src/augeas/src/put.c:890,1
    - Dst: free_split
      Src: /src/augeas/src/put.c:891,1
    - Dst: free_skel
      Src: /src/augeas/src/put.c:892,1
    - Dst: free_dict
      Src: /src/augeas/src/put.c:893,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 7
    argNames:
    - info
    - out
    - lens
    - tree
    - text
    - enable_span
    - err
    argTypes:
    - struct info*
    - FILE*
    - struct lens*
    - struct tree*
    - char*
    - int
    - struct lns_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 847
    functionDepth: 7
    functionLinenumber: 847
    functionLinenumberEnd: 894
    functionName: lns_put
    functionSourceFile: /src/augeas/src/put.c
    functionUses: 0
    functionsReached:
    - ftell
    - free_skel
    - free_lns_error
    - MEMZERO
    - free_dict
    - make_span
    - make_split
    - strdup
    - put_lens
    - lns_parse
    - free_split
    - free
    linkageType: ''
    returnType: void
    signature: "void lns_put(struct info *info, FILE *out, struct lens *lens, struct
      tree *tree,\n             const char *text, int enable_span, struct lns_error
      **err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: HAS_ERR
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_ERR(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: ERR_BAIL
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_BAIL(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: ERR_RET
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_RET(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: ERR_NOMEM
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_NOMEM(cond, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - obj
    - ','
    - code
    - ','
    - fmt
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: ERR_REPORT
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_REPORT(obj, code, fmt ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - cond
    - ','
    - obj
    - ','
    - code
    - ','
    - fmt
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: ERR_THROW
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_THROW(cond, obj, code, fmt ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - cond
    - ','
    - obj
    - ','
    - fmt
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ARG_CHECK
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARG_CHECK(cond, obj, fmt ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: ensure
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ensure(cond, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: ensure0
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ensure0(cond, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - cond
    - ','
    - obj
    - ','
    - fmt
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: BUG_ON
    functionSourceFile: /src/augeas/src/errcode.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG_ON(cond, obj, fmt ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - H
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: hash_isfull
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_isfull(H)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - H
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: hash_isfull
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_isfull(H)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - H
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: hash_isempty
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_isempty(H)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - H
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: hash_count
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_count(H)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - H
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: hash_size
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_size(H)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: hnode_get
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hnode_get(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: hnode_getkey
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hnode_getkey(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - N
    - ','
    - V
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: hnode_put
    functionSourceFile: /src/augeas/src/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hnode_put(N, V)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: ENCLEN
    functionSourceFile: /src/augeas/src/lens.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCLEN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: ENCSTR
    functionSourceFile: /src/augeas/src/lens.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCSTR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: child_first
    functionSourceFile: /src/augeas/src/lens.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: child_first(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: child_last
    functionSourceFile: /src/augeas/src/lens.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: child_last(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lens
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: dump_lens_tree
    functionSourceFile: /src/augeas/src/lens.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dump_lens_tree(lens)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: __GNUC_PREREQ
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ(maj,min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: __has_builtin
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_builtin(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: AUGEAS_LIKELY
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUGEAS_LIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: AUGEAS_UNLIKELY
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUGEAS_UNLIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: AUGEAS_LIKELY
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUGEAS_LIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: AUGEAS_UNLIKELY
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUGEAS_UNLIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: ATTRIBUTE_FORMAT
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTRIBUTE_FORMAT(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: move
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: move(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: move
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: move(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: ARRAY_CARDINALITY
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_CARDINALITY(array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: STREQ
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: STRCASEEQ
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCASEEQ(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: STRCASEEQLEN
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCASEEQLEN(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: STRNEQ
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRNEQ(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: STRCASENEQ
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCASENEQ(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: STREQLEN
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQLEN(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: STRNEQLEN
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRNEQLEN(a,b,n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/internal.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: streqv
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 4
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE streqv(const char *a, const char *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/internal.h:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: pathlen
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE pathlen(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathlen
      Src: /src/augeas/src/internal.h:259,1
    - Dst: STREQLEN
      Src: /src/augeas/src/internal.h:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: pathprefix
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached:
    - pathlen
    - STREQLEN
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE pathprefix(const char *p1, const char *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/augeas/src/internal.h:265,1
    - Dst: streqv
      Src: /src/augeas/src/internal.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - path
    - basenam
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: pathendswith
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached:
    - streqv
    - strrchr
    linkageType: ''
    returnType: int
    signature: int pathendswith(const char *path, const char *basenam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: MEMZERO
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMZERO(ptr, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: MEMMOVE
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMMOVE(dest, src, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - msg
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: FIXME
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXME(msg, args ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: err_of_aug
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct error
    signature: struct error *err_of_aug(const struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: ROOT_P
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROOT_P(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: TREE_HIDDEN
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_HIDDEN(tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: init_memstream
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_memstream(ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 546
    functionName: close_memstream
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: close_memstream(ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - facility
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: debugging
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugging(facility)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - format
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: debug_fopen
    functionSourceFile: /src/augeas/src/internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_fopen(format ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: tree_mark_dirty
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tree_mark_dirty(struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:102,1
    - Dst: tree_clean
      Src: /src/augeas/src/augeas.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tree_clean
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_clean
    - list_for_each
    linkageType: ''
    returnType: void
    signature: void tree_clean(struct tree *tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:111,1
    - Dst: streqv
      Src: /src/augeas/src/augeas.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tree
    - label
    argTypes:
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: tree_child
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - streqv
    - list_for_each
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_child(struct tree *tree, const char *label)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tree_child
      Src: /src/augeas/src/augeas.c:124,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:126,1
    - Dst: tree_append
      Src: /src/augeas/src/augeas.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - tree
    - label
    argTypes:
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: tree_child_cr
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_append
    - strdup
    - tree_child
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_child_cr(struct tree *tree, const char *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/augeas.c:137,1
    - Dst: va_arg
      Src: /src/augeas/src/augeas.c:139,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:140,1
    - Dst: va_end
      Src: /src/augeas/src/augeas.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tree
    - n
    argTypes:
    - struct tree*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: tree_path_cr
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - va_arg
    - tree_child_cr
    - va_start
    - va_end
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_path_cr(struct tree *tree, int n, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: argz_create_sep
      Src: /src/augeas/src/augeas.c:153,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:154,1
    - Dst: argz_next
      Src: /src/augeas/src/augeas.c:156,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:158,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:159,1
    - Dst: tree_child
      Src: /src/augeas/src/augeas.c:163,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - aug
    - fpath
    - create
    argTypes:
    - struct augeas*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 174
    functionName: tree_fpath_int
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_child_cr
    - tree_child
    - ERR_THROW
    - argz_next
    - argz_create_sep
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *tree_fpath_int(struct augeas *aug, const char *fpath,\n
      \                                  bool create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_fpath_int
      Src: /src/augeas/src/augeas.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aug
    - fpath
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 5
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: tree_fpath
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_fpath_int
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_fpath(struct augeas *aug, const char *fpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_fpath_int
      Src: /src/augeas/src/augeas.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aug
    - fpath
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: tree_fpath_cr
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_fpath_int
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_fpath_cr(struct augeas *aug, const char *fpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:189,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:189,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:190,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/augeas.c:192,1
    - Dst: BUG_ON
      Src: /src/augeas/src/augeas.c:193,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - aug
    - path
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: tree_find
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - pathx_aug_parse
    - ERR_BAIL
    - free_pathx
    - pathx_find_one
    - BUG_ON
    - tree_root_ctx
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_find(struct augeas *aug, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:209,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:209,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:210,1
    - Dst: pathx_expand_tree
      Src: /src/augeas/src/augeas.c:212,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:213,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:214,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - aug
    - path
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: tree_find_cr
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - pathx_aug_parse
    - ERR_THROW
    - ERR_BAIL
    - free_pathx
    - tree_root_ctx
    - pathx_expand_tree
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_find_cr(struct augeas *aug, const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/augeas.c:221,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:222,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:227,1
    - Dst: tree_mark_dirty
      Src: /src/augeas/src/augeas.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - tree
    - value
    argTypes:
    - struct tree*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: tree_store_value
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_mark_dirty
    - streqv
    - free
    linkageType: ''
    returnType: void
    signature: void tree_store_value(struct tree *tree, char **value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/augeas.c:240,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:243,1
    - Dst: tree_store_value
      Src: /src/augeas/src/augeas.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - tree
    - value
    argTypes:
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: tree_set_value
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - streqv
    - strdup
    - tree_store_value
    linkageType: ''
    returnType: int
    signature: int tree_set_value(struct tree *tree, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/augeas.c:256,1
    - Dst: tree_path_cr
      Src: /src/augeas/src/augeas.c:257,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:261,1
    - Dst: va_start
      Src: /src/augeas/src/augeas.c:263,1
    - Dst: va_arg
      Src: /src/augeas/src/augeas.c:265,1
    - Dst: va_arg
      Src: /src/augeas/src/augeas.c:266,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:267,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:269,1
    - Dst: va_end
      Src: /src/augeas/src/augeas.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - aug
    - label
    - value
    - nentries
    argTypes:
    - struct augeas*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 274
    functionName: store_error
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_path_cr
    - va_end
    - tree_child_cr
    - va_arg
    - va_start
    - ensure
    - tree_set_value
    linkageType: ''
    returnType: void
    signature: "void store_error(const struct augeas *aug, const char *label, const
      char *value,\n                 int nentries, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store_error
      Src: /src/augeas/src/augeas.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: store_pathx_error
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - store_error
    linkageType: ''
    returnType: void
    signature: void store_pathx_error(const struct augeas *aug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err_of_aug
      Src: /src/augeas/src/augeas.c:290,1
    - Dst: pathx_parse
      Src: /src/augeas/src/augeas.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - aug
    - tree
    - root_ctx
    - path
    - need_nodeset
    argTypes:
    - struct augeas*
    - struct tree*
    - struct tree*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: pathx_aug_parse
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 3
    functionsReached:
    - err_of_aug
    - pathx_parse
    linkageType: ''
    returnType: struct pathx
    signature: "struct pathx *pathx_aug_parse(const struct augeas *aug,\n                              struct
      tree *tree,\n                              struct tree *root_ctx,\n                              const
      char *path, bool need_nodeset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:306,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:307,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/augeas.c:309,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:310,1
    - Dst: cleanpath
      Src: /src/augeas/src/augeas.c:318,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:319,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:321,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:322,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:324,1
    - Dst: pathx_expand_tree
      Src: /src/augeas/src/augeas.c:325,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:328,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/augeas.c:332,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:333,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 344
    functionName: tree_root_ctx
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 3
    functionsReached:
    - pathx_aug_parse
    - ERR_THROW
    - ERR_BAIL
    - cleanpath
    - tree_set_value
    - free_pathx
    - pathx_expand_tree
    - pathx_find_one
    - pathx_first
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_root_ctx(const struct augeas *aug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_tree
      Src: /src/augeas/src/augeas.c:348,1
    - Dst: list_append
      Src: /src/augeas/src/augeas.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - parent
    - label
    - value
    argTypes:
    - struct tree*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tree_append
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - make_tree
    - list_append
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *tree_append(struct tree *parent,\n                         char
      *label, char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:362,1
    - Dst: tree_append
      Src: /src/augeas/src/augeas.c:364,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - parent
    - l0
    - v
    argTypes:
    - struct tree*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: tree_append_s
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_append
    - free
    - strdup
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *tree_append_s(struct tree *parent,\n                                  const
      char *l0, char *v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:373,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:378,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:380,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:381,1
    - Dst: tree_append_s
      Src: /src/augeas/src/augeas.c:386,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:387,1
    - Dst: asprintf
      Src: /src/augeas/src/augeas.c:389,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:390,1
    - Dst: tree_append_s
      Src: /src/augeas/src/augeas.c:392,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:393,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:396,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:398,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:399,1
    - Dst: tree_append_s
      Src: /src/augeas/src/augeas.c:400,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:401,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:405,1
    - Dst: tree_unlink
      Src: /src/augeas/src/augeas.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - aug
    - modname
    - xfm
    argTypes:
    - struct augeas*
    - char*
    - struct transform*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: tree_from_transform
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_child_cr
    - tree_unlink
    - tree_append_s
    - asprintf
    - list_for_each
    - strdup
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *tree_from_transform(struct augeas *aug,\n                                        const
      char *modname,\n                                        struct transform *xfm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/augeas/src/augeas.c:414,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:415,1
    - Dst: uselocale
      Src: /src/augeas/src/augeas.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: save_locale
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - newlocale
    - ERR_NOMEM
    - uselocale
    linkageType: ''
    returnType: void
    signature: void save_locale(struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aug
    argTypes:
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: save_locale
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void save_locale(ATTRIBUTE_UNUSED struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uselocale
      Src: /src/augeas/src/augeas.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: restore_locale
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - uselocale
    linkageType: ''
    returnType: void
    signature: void restore_locale(struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aug
    argTypes:
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: restore_locale
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void restore_locale(ATTRIBUTE_UNUSED struct augeas *aug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset_error
      Src: /src/augeas/src/augeas.c:449,1
    - Dst: save_locale
      Src: /src/augeas/src/augeas.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: api_entry
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - reset_error
    - save_locale
    linkageType: ''
    returnType: void
    signature: void api_entry(const struct augeas *aug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/augeas.c:454,1
    - Dst: store_pathx_error
      Src: /src/augeas/src/augeas.c:457,1
    - Dst: restore_locale
      Src: /src/augeas/src/augeas.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts:
    - condition: (aug->api_entries > 0)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/augeas/src/augeas.c
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: api_exit
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - store_pathx_error
    - assert
    - restore_locale
    linkageType: ''
    returnType: void
    signature: void api_exit(const struct augeas *aug)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/src/augeas.c:464,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:468,1
    - Dst: strlen
      Src: /src/augeas/src/augeas.c:472,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/augeas.c:473,1
    - Dst: strlen
      Src: /src/augeas/src/augeas.c:473,1
    - Dst: strcat
      Src: /src/augeas/src/augeas.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - aug
    - root0
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 478
    functionName: init_root
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - strcat
    - strlen
    - strdup
    - getenv
    - REALLOC_N
    linkageType: ''
    returnType: int
    signature: int init_root(struct augeas *aug, const char *root0)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: argz_add_sep
      Src: /src/augeas/src/augeas.c:486,1
    - Dst: getenv
      Src: /src/augeas/src/augeas.c:491,1
    - Dst: argz_add_sep
      Src: /src/augeas/src/augeas.c:493,1
    - Dst: argz_add
      Src: /src/augeas/src/augeas.c:499,1
    - Dst: argz_add
      Src: /src/augeas/src/augeas.c:502,1
    - Dst: argz_stringify
      Src: /src/augeas/src/augeas.c:509,1
    - Dst: strlen
      Src: /src/augeas/src/augeas.c:511,1
    - Dst: argz_create_sep
      Src: /src/augeas/src/augeas.c:529,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:531,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - aug
    - loadpath
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 536
    functionName: init_loadpath
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - argz_add_sep
    - strlen
    - argz_add
    - getenv
    - argz_create_sep
    - free
    - argz_stringify
    linkageType: ''
    returnType: int
    signature: int init_loadpath(struct augeas *aug, const char *loadpath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aug_set
      Src: /src/augeas/src/augeas.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: init_save_mode
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - aug_set
    linkageType: ''
    returnType: void
    signature: void init_save_mode(struct augeas *aug)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: make_tree
      Src: /src/augeas/src/augeas.c:555,1
    - Dst: ALLOC
      Src: /src/augeas/src/augeas.c:562,1
    - Dst: ALLOC
      Src: /src/augeas/src/augeas.c:564,1
    - Dst: make_ref
      Src: /src/augeas/src/augeas.c:566,1
    - Dst: dup_string
      Src: /src/augeas/src/augeas.c:569,1
    - Dst: make_tree_origin
      Src: /src/augeas/src/augeas.c:574,1
    - Dst: free_tree
      Src: /src/augeas/src/augeas.c:576,1
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:580,1
    - Dst: init_root
      Src: /src/augeas/src/augeas.c:584,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:585,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:587,1
    - Dst: init_loadpath
      Src: /src/augeas/src/augeas.c:593,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:594,1
    - Dst: aug_set
      Src: /src/augeas/src/augeas.c:599,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:600,1
    - Dst: aug_set
      Src: /src/augeas/src/augeas.c:603,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:604,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/augeas.c:606,1
    - Dst: aug_set
      Src: /src/augeas/src/augeas.c:607,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:608,1
    - Dst: init_save_mode
      Src: /src/augeas/src/augeas.c:611,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:612,1
    - Dst: aug_set
      Src: /src/augeas/src/augeas.c:615,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:616,1
    - Dst: interpreter_init
      Src: /src/augeas/src/augeas.c:618,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:621,1
    - Dst: tree_from_transform
      Src: /src/augeas/src/augeas.c:625,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:626,1
    - Dst: aug_load
      Src: /src/augeas/src/augeas.c:629,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:632,1
    - Dst: aug_close
      Src: /src/augeas/src/augeas.c:637,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:641,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 3
    argNames:
    - root
    - loadpath
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 552
    functionDepth: 5
    functionLinenumber: 552
    functionLinenumberEnd: 643
    functionName: aug_init
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 40
    functionsReached:
    - api_exit
    - dup_string
    - aug_set
    - ARRAY_CARDINALITY
    - interpreter_init
    - strdup
    - tree_from_transform
    - init_loadpath
    - init_root
    - list_for_each
    - make_ref
    - init_save_mode
    - aug_close
    - make_tree_origin
    - ERR_NOMEM
    - api_entry
    - make_tree
    - aug_load
    - ERR_BAIL
    - free_tree
    - ALLOC
    linkageType: ''
    returnType: struct augeas
    signature: "struct augeas *aug_init(const char *root, const char *loadpath,\n
      \                       unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_span
      Src: /src/augeas/src/augeas.c:651,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:652,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:653,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 655
    functionName: free_tree_node
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - free_span
    - free
    linkageType: ''
    returnType: void
    signature: void free_tree_node(struct tree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/augeas.c:661,1
    - Dst: list_remove
      Src: /src/augeas/src/augeas.c:662,1
    - Dst: tree_mark_dirty
      Src: /src/augeas/src/augeas.c:663,1
    - Dst: free_tree
      Src: /src/augeas/src/augeas.c:664,1
    - Dst: free_tree_node
      Src: /src/augeas/src/augeas.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts:
    - condition: (tree->parent != NULL)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/augeas/src/augeas.c
    constantsTouched: []
    func_position:
      end: 667
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 667
    functionName: tree_unlink_raw
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_mark_dirty
    - free_tree_node
    - list_remove
    - assert
    - free_tree
    linkageType: ''
    returnType: int
    signature: int tree_unlink_raw(struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathx_symtab_remove_descendants
      Src: /src/augeas/src/augeas.c:672,1
    - Dst: tree_unlink_raw
      Src: /src/augeas/src/augeas.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - aug
    - tree
    argTypes:
    - struct augeas*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: tree_unlink
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - pathx_symtab_remove_descendants
    - tree_unlink_raw
    linkageType: ''
    returnType: int
    signature: int tree_unlink(struct augeas *aug, struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathx_symtab_remove_descendants
      Src: /src/augeas/src/augeas.c:680,1
    - Dst: tree_unlink_raw
      Src: /src/augeas/src/augeas.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - aug
    - tree
    argTypes:
    - struct augeas*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 684
    functionName: tree_unlink_children
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - pathx_symtab_remove_descendants
    - tree_unlink_raw
    linkageType: ''
    returnType: void
    signature: void tree_unlink_children(struct augeas *aug, struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_child
      Src: /src/augeas/src/augeas.c:687,1
    - Dst: tree_mark_dirty
      Src: /src/augeas/src/augeas.c:688,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:690,1
    - Dst: tree_mark_files
      Src: /src/augeas/src/augeas.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: tree_mark_files
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_mark_dirty
    - tree_mark_files
    - list_for_each
    - tree_child
    linkageType: ''
    returnType: void
    signature: void tree_mark_files(struct tree *tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tree_child
      Src: /src/augeas/src/augeas.c:701,1
    - Dst: tree_unlink
      Src: /src/augeas/src/augeas.c:702,1
    - Dst: tree_fpath
      Src: /src/augeas/src/augeas.c:702,1
    - Dst: tree_unlink
      Src: /src/augeas/src/augeas.c:703,1
    - Dst: tree_rm_dirty_files
      Src: /src/augeas/src/augeas.c:708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - aug
    - tree
    argTypes:
    - struct augeas*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 6
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: tree_rm_dirty_files
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_unlink
    - tree_rm_dirty_files
    - tree_fpath
    - tree_child
    linkageType: ''
    returnType: void
    signature: void tree_rm_dirty_files(struct augeas *aug, struct tree *tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tree_rm_dirty_leaves
      Src: /src/augeas/src/augeas.c:722,1
    - Dst: tree_unlink
      Src: /src/augeas/src/augeas.c:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - aug
    - tree
    - protect
    argTypes:
    - struct augeas*
    - struct tree*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: tree_rm_dirty_leaves
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_rm_dirty_leaves
    - tree_unlink
    linkageType: ''
    returnType: void
    signature: "void tree_rm_dirty_leaves(struct augeas *aug, struct tree *tree,\n
      \                                struct tree *protect)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:732,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:733,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:734,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:735,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:736,1
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:738,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:740,1
    - Dst: aug_get
      Src: /src/augeas/src/augeas.c:758,1
    - Dst: strcmp
      Src: /src/augeas/src/augeas.c:759,1
    - Dst: tree_clean
      Src: /src/augeas/src/augeas.c:766,1
    - Dst: tree_mark_files
      Src: /src/augeas/src/augeas.c:767,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:769,1
    - Dst: transform_validate
      Src: /src/augeas/src/augeas.c:770,1
    - Dst: transform_load
      Src: /src/augeas/src/augeas.c:771,1
    - Dst: tree_clean
      Src: /src/augeas/src/augeas.c:776,1
    - Dst: tree_rm_dirty_files
      Src: /src/augeas/src/augeas.c:778,1
    - Dst: tree_rm_dirty_leaves
      Src: /src/augeas/src/augeas.c:779,1
    - Dst: tree_rm_dirty_leaves
      Src: /src/augeas/src/augeas.c:780,1
    - Dst: tree_clean
      Src: /src/augeas/src/augeas.c:782,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:784,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augeas.c:785,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:786,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:789,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 730
    functionDepth: 7
    functionLinenumber: 730
    functionLinenumberEnd: 794
    functionName: aug_load
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 25
    functionsReached:
    - aug_get
    - tree_clean
    - tree_child_cr
    - tree_mark_files
    - strcmp
    - api_entry
    - api_exit
    - ERR_BAIL
    - tree_rm_dirty_files
    - aug_defvar
    - list_for_each
    - transform_validate
    - transform_load
    - tree_rm_dirty_leaves
    - ERR_NOMEM
    linkageType: ''
    returnType: int
    signature: int aug_load(struct augeas *aug)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: err_of_pathx
      Src: /src/augeas/src/augeas.c:797,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/augeas.c:798,1
    - Dst: report_error
      Src: /src/augeas/src/augeas.c:804,1
    - Dst: report_error
      Src: /src/augeas/src/augeas.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - match
    argTypes:
    - struct pathx*
    - struct tree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 811
    functionName: find_one_node
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - pathx_find_one
    - report_error
    - err_of_pathx
    linkageType: ''
    returnType: int
    signature: int find_one_node(struct pathx *p, struct tree **match)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:821,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:823,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:823,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:824,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/augeas.c:826,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:827,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:828,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:833,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:835,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:838,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - aug
    - path
    - value
    argTypes:
    - struct augeas*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 841
    functionName: aug_get
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 25
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - free_pathx
    - pathx_find_one
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: int aug_get(const struct augeas *aug, const char *path, const char
      **value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:848,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:850,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:850,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:851,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/augeas.c:856,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:857,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:858,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:863,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:865,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:868,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - aug
    - path
    - label
    argTypes:
    - struct augeas*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 871
    functionName: aug_label
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 2
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - free_pathx
    - pathx_find_one
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: int aug_label(const struct augeas *aug, const char *path, const char
      **label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_path_cr
      Src: /src/augeas/src/augeas.c:876,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:877,1
    - Dst: tree_unlink
      Src: /src/augeas/src/augeas.c:879,1
    - Dst: tree_child
      Src: /src/augeas/src/augeas.c:879,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:881,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:882,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - aug
    - name
    - expr
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 873
    functionDepth: 5
    functionLinenumber: 873
    functionLinenumberEnd: 887
    functionName: record_var_meta
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_path_cr
    - tree_unlink
    - tree_child_cr
    - tree_child
    - tree_set_value
    - ERR_NOMEM
    linkageType: ''
    returnType: void
    signature: "void record_var_meta(struct augeas *aug, const char *name,\n                            const
      char *expr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:893,1
    - Dst: pathx_symtab_undefine
      Src: /src/augeas/src/augeas.c:896,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:898,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:898,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:899,1
    - Dst: pathx_symtab_define
      Src: /src/augeas/src/augeas.c:900,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:902,1
    - Dst: record_var_meta
      Src: /src/augeas/src/augeas.c:904,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:905,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:907,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - aug
    - name
    - expr
    argTypes:
    - augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 889
    functionDepth: 6
    functionLinenumber: 889
    functionLinenumberEnd: 910
    functionName: aug_defvar
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 15
    functionsReached:
    - pathx_symtab_define
    - pathx_aug_parse
    - api_entry
    - api_exit
    - ERR_BAIL
    - record_var_meta
    - free_pathx
    - pathx_symtab_undefine
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: int aug_defvar(augeas *aug, const char *name, const char *expr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:919,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:926,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:926,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:927,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:929,1
    - Dst: pathx_expand_tree
      Src: /src/augeas/src/augeas.c:930,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:939,1
    - Dst: pathx_symtab_assign_tree
      Src: /src/augeas/src/augeas.c:942,1
    - Dst: path_of_tree
      Src: /src/augeas/src/augeas.c:943,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:944,1
    - Dst: record_var_meta
      Src: /src/augeas/src/augeas.c:945,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:946,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:947,1
    - Dst: pathx_symtab_define
      Src: /src/augeas/src/augeas.c:949,1
    - Dst: record_var_meta
      Src: /src/augeas/src/augeas.c:950,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:951,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:956,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:957,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 5
    argNames:
    - aug
    - name
    - expr
    - value
    - created
    argTypes:
    - augeas*
    - char*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 912
    functionDepth: 6
    functionLinenumber: 912
    functionLinenumberEnd: 959
    functionName: aug_defnode
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 4
    functionsReached:
    - path_of_tree
    - pathx_symtab_define
    - pathx_aug_parse
    - api_entry
    - pathx_symtab_assign_tree
    - api_exit
    - ERR_BAIL
    - tree_set_value
    - pathx_expand_tree
    - record_var_meta
    - free_pathx
    - ERR_NOMEM
    - free
    - tree_root_ctx
    - pathx_first
    linkageType: ''
    returnType: int
    signature: "int aug_defnode(augeas *aug, const char *name, const char *expr,\n
      \               const char *value, int *created)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pathx_expand_tree
      Src: /src/augeas/src/augeas.c:965,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - value
    argTypes:
    - struct pathx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 4
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: tree_set
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - tree_set_value
    - pathx_expand_tree
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_set(struct pathx *p, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:979,1
    - Dst: STRNEQ
      Src: /src/augeas/src/augeas.c:983,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:984,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:986,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:987,1
    - Dst: tree_set
      Src: /src/augeas/src/augeas.c:989,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:991,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - aug
    - path
    - value
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 994
    functionName: aug_set
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 36
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - api_exit
    - ERR_BAIL
    - STRNEQ
    - free_pathx
    - tree_set
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: int aug_set(struct augeas *aug, const char *path, const char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1002,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1004,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1004,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1005,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1007,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1011,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1011,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1014,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1015,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1016,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1018,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1018,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:1019,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1020,1
    - Dst: pathx_expand_tree
      Src: /src/augeas/src/augeas.c:1025,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:1028,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1029,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1032,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:1036,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1037,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1043,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1044,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1045,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 4
    argNames:
    - aug
    - base
    - sub
    - value
    argTypes:
    - struct augeas*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 996
    functionDepth: 5
    functionLinenumber: 996
    functionLinenumberEnd: 1050
    functionName: aug_setm
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 2
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - api_exit
    - STREQ
    - ERR_BAIL
    - tree_set_value
    - pathx_expand_tree
    - free_pathx
    - pathx_next
    - ERR_NOMEM
    - tree_root_ctx
    - pathx_first
    linkageType: ''
    returnType: int
    signature: "int aug_setm(struct augeas *aug, const char *base,\n             const
      char *sub, const char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/augeas.c:1055,1
    - Dst: find_one_node
      Src: /src/augeas/src/augeas.c:1058,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1061,1
    - Dst: make_tree::make_tree
      Src: /src/augeas/src/augeas.c:1061,1
    - Dst: label::label
      Src: /src/augeas/src/augeas.c:1062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - p
    - label
    - before
    argTypes:
    - struct pathx*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1075
    functionName: tree_insert
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - find_one_node
    - make_tree::make_tree
    - strchr
    - strdup
    - label::label
    linkageType: ''
    returnType: int
    signature: int tree_insert(struct pathx *p, const char *label, int before)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1082,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1084,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1084,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1085,1
    - Dst: tree_insert
      Src: /src/augeas/src/augeas.c:1087,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1089,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - aug
    - path
    - label
    - before
    argTypes:
    - struct augeas*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1077
    functionDepth: 5
    functionLinenumber: 1077
    functionLinenumberEnd: 1092
    functionName: aug_insert
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - api_exit
    - tree_insert
    - ERR_BAIL
    - free_pathx
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: "int aug_insert(struct augeas *aug, const char *path, const char *label,\n
      \              int before)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/augeas.c:1097,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1104,1
    - Dst: tree_mark_dirty
      Src: /src/augeas/src/augeas.c:1107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - label
    - value
    - parent
    - children
    argTypes:
    - char*
    - char*
    - struct tree*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1111
    functionName: make_tree
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 3
    functionsReached:
    - tree_mark_dirty
    - list_for_each
    - ALLOC
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *make_tree(char *label, char *value, struct tree *parent,\n
      \                      struct tree *children)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_tree
      Src: /src/augeas/src/augeas.c:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: make_tree_origin
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - make_tree
    linkageType: ''
    returnType: struct tree
    signature: struct tree *make_tree_origin(struct tree *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_tree
      Src: /src/augeas/src/augeas.c:1131,1
    - Dst: free_tree_node
      Src: /src/augeas/src/augeas.c:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1137
    functionName: free_tree
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 4
    functionsReached:
    - free_tree_node
    - free_tree
    linkageType: ''
    returnType: int
    signature: int free_tree(struct tree *tree)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1144,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1144,1
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/augeas.c:1145,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/augeas.c:1152,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1153,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1157,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1157,1
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/augeas.c:1158,1
    - Dst: pathx_symtab_remove_descendants
      Src: /src/augeas/src/augeas.c:1160,1
    - Dst: pathx_get_symtab
      Src: /src/augeas/src/augeas.c:1160,1
    - Dst: ROOT_P
      Src: /src/augeas/src/augeas.c:1169,1
    - Dst: tree_unlink_raw
      Src: /src/augeas/src/augeas.c:1184,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1139
    functionDepth: 3
    functionLinenumber: 1139
    functionLinenumberEnd: 1190
    functionName: tree_rm
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - pathx_symtab_remove_descendants
    - tree_unlink_raw
    - ALLOC_N
    - ROOT_P
    - TREE_HIDDEN
    - pathx_get_symtab
    - pathx_next
    - free
    - pathx_first
    linkageType: ''
    returnType: int
    signature: int tree_rm(struct pathx *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1196,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1198,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1198,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1199,1
    - Dst: tree_rm
      Src: /src/augeas/src/augeas.c:1201,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1204,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - aug
    - path
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1192
    functionDepth: 5
    functionLinenumber: 1192
    functionLinenumberEnd: 1207
    functionName: aug_rm
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 14
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - api_exit
    - ERR_BAIL
    - tree_rm
    - free_pathx
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: int aug_rm(struct augeas *aug, const char *path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1217,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1219,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1219,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1220,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1222,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1223,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1225,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1226,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1227,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1227,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1252,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1254,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1256,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1261,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 9
    argNames:
    - aug
    - path
    - filename
    - label_start
    - label_end
    - value_start
    - value_end
    - span_start
    - span_end
    argTypes:
    - struct augeas*
    - char*
    - char**
    - uint*
    - uint*
    - uint*
    - uint*
    - uint*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1209
    functionDepth: 5
    functionLinenumber: 1209
    functionLinenumberEnd: 1264
    functionName: aug_span
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - strdup
    - free_pathx
    - pathx_next
    - ERR_NOMEM
    - tree_root_ctx
    - pathx_first
    linkageType: ''
    returnType: int
    signature: "int aug_span(struct augeas *aug, const char *path, char **filename,\n
      \       uint *label_start, uint *label_end, uint *value_start, uint *value_end,\n
      \       uint *span_start, uint *span_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1271,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1274,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1274,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1275,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1277,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1277,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1278,1
    - Dst: find_one_node
      Src: /src/augeas/src/augeas.c:1280,1
    - Dst: pathx_expand_tree
      Src: /src/augeas/src/augeas.c:1284,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1291,1
    - Dst: free_tree
      Src: /src/augeas/src/augeas.c:1296,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1299,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1302,1
    - Dst: tree_unlink
      Src: /src/augeas/src/augeas.c:1308,1
    - Dst: tree_mark_dirty
      Src: /src/augeas/src/augeas.c:1309,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1313,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1314,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - aug
    - src
    - dst
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1266
    functionDepth: 5
    functionLinenumber: 1266
    functionLinenumberEnd: 1317
    functionName: aug_mv
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_mark_dirty
    - find_one_node
    - tree_unlink
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - free
    - list_for_each
    - free_pathx
    - free_tree
    - tree_root_ctx
    - pathx_expand_tree
    linkageType: ''
    returnType: int
    signature: int aug_mv(struct augeas *aug, const char *src, const char *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1323,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1324,1
    - Dst: tree_append_s
      Src: /src/augeas/src/augeas.c:1325,1
    - Dst: tree_copy_rec
      Src: /src/augeas/src/augeas.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct tree*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1319
    functionDepth: 3
    functionLinenumber: 1319
    functionLinenumberEnd: 1328
    functionName: tree_copy_rec
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_copy_rec
    - strdup
    - tree_append_s
    - list_for_each
    linkageType: ''
    returnType: void
    signature: void tree_copy_rec(struct tree *src, struct tree *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1335,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1338,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1338,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1339,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1341,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1341,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1342,1
    - Dst: find_one_node
      Src: /src/augeas/src/augeas.c:1344,1
    - Dst: pathx_expand_tree
      Src: /src/augeas/src/augeas.c:1348,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1355,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:1360,1
    - Dst: free_tree
      Src: /src/augeas/src/augeas.c:1361,1
    - Dst: tree_copy_rec
      Src: /src/augeas/src/augeas.c:1363,1
    - Dst: tree_mark_dirty
      Src: /src/augeas/src/augeas.c:1364,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1368,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1369,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - aug
    - src
    - dst
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1330
    functionDepth: 5
    functionLinenumber: 1330
    functionLinenumberEnd: 1372
    functionName: aug_cp
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_copy_rec
    - tree_mark_dirty
    - find_one_node
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - tree_set_value
    - free_pathx
    - free_tree
    - tree_root_ctx
    - pathx_expand_tree
    linkageType: ''
    returnType: int
    signature: int aug_cp(struct augeas *aug, const char *src, const char *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1380,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1383,1
    - Dst: strchr
      Src: /src/augeas/src/augeas.c:1383,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1386,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1386,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1387,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1389,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1389,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1390,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1391,1
    - Dst: tree_mark_dirty
      Src: /src/augeas/src/augeas.c:1392,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1396,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1397,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1400,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - aug
    - src
    - lbl
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1374
    functionDepth: 5
    functionLinenumber: 1374
    functionLinenumberEnd: 1403
    functionName: aug_rename
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 2
    functionsReached:
    - tree_mark_dirty
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - strchr
    - strdup
    - free_pathx
    - pathx_next
    - free
    - tree_root_ctx
    - pathx_first
    linkageType: ''
    returnType: int
    signature: int aug_rename(struct augeas *aug, const char *src, const char *lbl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1410,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1415,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1419,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1419,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1420,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1422,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1422,1
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/augeas.c:1423,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1426,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/augeas.c:1431,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1435,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1435,1
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/augeas.c:1436,1
    - Dst: path_of_tree
      Src: /src/augeas/src/augeas.c:1438,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1444,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1446,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1447,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1454,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1455,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1458,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - aug
    - pathin
    - matches
    argTypes:
    - struct augeas*
    - char*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1405
    functionDepth: 5
    functionLinenumber: 1405
    functionLinenumberEnd: 1461
    functionName: aug_match
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 37
    functionsReached:
    - path_of_tree
    - pathx_aug_parse
    - api_entry
    - ALLOC_N
    - api_exit
    - STREQ
    - ERR_BAIL
    - free_pathx
    - TREE_HIDDEN
    - pathx_next
    - free
    - tree_root_ctx
    - pathx_first
    linkageType: ''
    returnType: int
    signature: int aug_match(const struct augeas *aug, const char *pathin, char ***matches)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfm_lens
      Src: /src/augeas/src/augeas.c:1468,1
    - Dst: xfm_lens
      Src: /src/augeas/src/augeas.c:1469,1
    - Dst: strlen
      Src: /src/augeas/src/augeas.c:1471,1
    - Dst: transform_file_error
      Src: /src/augeas/src/augeas.c:1472,1
    - Dst: xfm_lens_name
      Src: /src/augeas/src/augeas.c:1474,1
    - Dst: xfm_lens_name
      Src: /src/augeas/src/augeas.c:1475,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augeas.c:1476,1
    - Dst: xfm_lens_name
      Src: /src/augeas/src/augeas.c:1479,1
    - Dst: xfm_lens_name
      Src: /src/augeas/src/augeas.c:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - aug
    - path
    - xfm1
    - xfm2
    argTypes:
    - struct augeas*
    - char*
    - struct tree*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1484
    functionName: check_save_dup
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - xfm_lens
    - strlen
    - transform_file_error
    - xfm_lens_name
    linkageType: ''
    returnType: int
    signature: "int check_save_dup(struct augeas *aug, const char *path,\n                          struct
      tree *xfm1, struct tree *xfm2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1489,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1490,1
    - Dst: asprintf
      Src: /src/augeas/src/augeas.c:1503,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1508,1
    - Dst: transform_applies
      Src: /src/augeas/src/augeas.c:1509,1
    - Dst: check_save_dup
      Src: /src/augeas/src/augeas.c:1513,1
    - Dst: transform_save
      Src: /src/augeas/src/augeas.c:1523,1
    - Dst: tree_save
      Src: /src/augeas/src/augeas.c:1527,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1530,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - aug
    - tree
    - path
    argTypes:
    - struct augeas*
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1486
    functionDepth: 4
    functionLinenumber: 1486
    functionLinenumberEnd: 1534
    functionName: tree_save
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_child_cr
    - tree_save
    - transform_applies
    - transform_save
    - list_for_each
    - asprintf
    - check_save_dup
    - free
    linkageType: ''
    returnType: int
    signature: "int tree_save(struct augeas *aug, struct tree *tree,\n                     const
      char *path)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/src/augeas.c:1503,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1508,1
    - Dst: transform_applies
      Src: /src/augeas/src/augeas.c:1509,1
    - Dst: check_save_dup
      Src: /src/augeas/src/augeas.c:1513,1
    - Dst: transform_save
      Src: /src/augeas/src/augeas.c:1523,1
    - Dst: tree_save
      Src: /src/augeas/src/augeas.c:1527,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1530,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1497
    functionDepth: 5
    functionLinenumber: 1497
    functionLinenumberEnd: 1532
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 25
    functionsReached:
    - tree_save
    - transform_applies
    - transform_save
    - list_for_each
    - asprintf
    - check_save_dup
    - free
    linkageType: ''
    returnType: void
    signature: void list_for_each(t, tree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aug_get
      Src: /src/augeas/src/augeas.c:1540,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1545,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1547,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1549,1
    - Dst: STRNEQ
      Src: /src/augeas/src/augeas.c:1551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1537
    functionDepth: 6
    functionLinenumber: 1537
    functionLinenumberEnd: 1556
    functionName: update_save_flags
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - aug_get
    - STREQ
    - STRNEQ
    linkageType: ''
    returnType: int
    signature: int update_save_flags(struct augeas *aug)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tree_child
      Src: /src/augeas/src/augeas.c:1573,1
    - Dst: pathx_parse
      Src: /src/augeas/src/augeas.c:1578,1
    - Dst: err_of_aug
      Src: /src/augeas/src/augeas.c:1578,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1581,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1584,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1586,1
    - Dst: remove_file
      Src: /src/augeas/src/augeas.c:1587,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1590,1
    - Dst: tree_child
      Src: /src/augeas/src/augeas.c:1591,1
    - Dst: unlink_removed_files
      Src: /src/augeas/src/augeas.c:1592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - aug
    - files
    - meta
    argTypes:
    - struct augeas*
    - struct tree*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1558
    functionDepth: 3
    functionLinenumber: 1558
    functionLinenumberEnd: 1598
    functionName: unlink_removed_files
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - unlink_removed_files
    - tree_child
    - pathx_parse
    - err_of_aug
    - free_pathx
    - remove_file
    - pathx_next
    - pathx_first
    linkageType: ''
    returnType: int
    signature: "int unlink_removed_files(struct augeas *aug,\n                                struct
      tree *files, struct tree *meta)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1602,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1603,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1604,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1605,1
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1607,1
    - Dst: update_save_flags
      Src: /src/augeas/src/augeas.c:1609,1
    - Dst: aug_rm
      Src: /src/augeas/src/augeas.c:1615,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1617,1
    - Dst: transform_validate
      Src: /src/augeas/src/augeas.c:1618,1
    - Dst: tree_save
      Src: /src/augeas/src/augeas.c:1620,1
    - Dst: unlink_removed_files
      Src: /src/augeas/src/augeas.c:1625,1
    - Dst: tree_clean
      Src: /src/augeas/src/augeas.c:1629,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1632,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1635,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1600
    functionDepth: 7
    functionLinenumber: 1600
    functionLinenumberEnd: 1637
    functionName: aug_save
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 13
    functionsReached:
    - tree_clean
    - unlink_removed_files
    - tree_child_cr
    - api_entry
    - tree_save
    - update_save_flags
    - api_exit
    - list_for_each
    - transform_validate
    - aug_rm
    linkageType: ''
    returnType: int
    signature: int aug_save(struct augeas *aug)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augeas.c:1642,1
    - Dst: escape
      Src: /src/augeas/src/augeas.c:1646,1
    - Dst: fprintf
      Src: /src/augeas/src/augeas.c:1647,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1648,1
    - Dst: fputc
      Src: /src/augeas/src/augeas.c:1652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - out
    - path
    - value
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1656
    functionName: print_one
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - fputc
    - escape
    - free
    - fprintf
    linkageType: ''
    returnType: int
    signature: int print_one(FILE *out, const char *path, const char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/augeas.c:1665,1
    - Dst: path_expand
      Src: /src/augeas/src/augeas.c:1668,1
    - Dst: print_one
      Src: /src/augeas/src/augeas.c:1672,1
    - Dst: print_rec
      Src: /src/augeas/src/augeas.c:1675,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1676,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - out
    - start
    - ppath
    - pr_hidden
    argTypes:
    - FILE*
    - struct tree*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1685
    functionName: print_rec
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - print_rec
    - TREE_HIDDEN
    - path_expand
    - print_one
    - free
    linkageType: ''
    returnType: int
    signature: "int print_rec(FILE *out, struct tree *start, const char *ppath,\n
      \                    int pr_hidden)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/augeas.c:1665,1
    - Dst: path_expand
      Src: /src/augeas/src/augeas.c:1668,1
    - Dst: print_one
      Src: /src/augeas/src/augeas.c:1672,1
    - Dst: print_rec
      Src: /src/augeas/src/augeas.c:1675,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1664
    functionDepth: 2
    functionLinenumber: 1664
    functionLinenumberEnd: 1680
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 26
    functionsReached:
    - print_rec
    - TREE_HIDDEN
    - path_expand
    - print_one
    - free
    linkageType: ''
    returnType: void
    signature: void list_for_each(tree, start)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1692,1
    - Dst: pathx_next
      Src: /src/augeas/src/augeas.c:1692,1
    - Dst: TREE_HIDDEN
      Src: /src/augeas/src/augeas.c:1693,1
    - Dst: path_of_tree
      Src: /src/augeas/src/augeas.c:1696,1
    - Dst: print_one
      Src: /src/augeas/src/augeas.c:1699,1
    - Dst: print_rec
      Src: /src/augeas/src/augeas.c:1702,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1705,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - out
    - p
    - pr_hidden
    argTypes:
    - FILE*
    - struct pathx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1712
    functionName: print_tree
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 2
    functionsReached:
    - path_of_tree
    - print_rec
    - TREE_HIDDEN
    - pathx_next
    - print_one
    - free
    - pathx_first
    linkageType: ''
    returnType: int
    signature: int print_tree(FILE *out, struct pathx *p, int pr_hidden)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathx_parse
      Src: /src/augeas/src/augeas.c:1718,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1719,1
    - Dst: print_tree
      Src: /src/augeas/src/augeas.c:1723,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - out
    - tree
    argTypes:
    - FILE*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1726
    functionName: dump_tree
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - pathx_parse
    - print_tree
    - free_pathx
    linkageType: ''
    returnType: int
    signature: int dump_tree(FILE *out, struct tree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1735,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1738,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1738,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1739,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1740,1
    - Dst: aug_get
      Src: /src/augeas/src/augeas.c:1742,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1743,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1744,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1746,1
    - Dst: text_store
      Src: /src/augeas/src/augeas.c:1749,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - aug
    - lens
    - node
    - path
    argTypes:
    - augeas*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1728
    functionDepth: 6
    functionLinenumber: 1728
    functionLinenumberEnd: 1753
    functionName: aug_text_store
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 3
    functionsReached:
    - aug_get
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - free_pathx
    - text_store
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: "int aug_text_store(augeas *aug, const char *lens, const char *node,\n
      \                  const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1764,1
    - Dst: tree_find
      Src: /src/augeas/src/augeas.c:1766,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1767,1
    - Dst: aug_get
      Src: /src/augeas/src/augeas.c:1769,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1770,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1771,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1773,1
    - Dst: text_retrieve
      Src: /src/augeas/src/augeas.c:1776,1
    - Dst: tree_find_cr
      Src: /src/augeas/src/augeas.c:1780,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1781,1
    - Dst: tree_store_value
      Src: /src/augeas/src/augeas.c:1783,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1785,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1788,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - aug
    - lens
    - node_in
    - path
    - node_out
    argTypes:
    - struct augeas*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1755
    functionDepth: 6
    functionLinenumber: 1755
    functionLinenumberEnd: 1791
    functionName: aug_text_retrieve
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - aug_get
    - tree_find_cr
    - api_entry
    - text_retrieve
    - ERR_THROW
    - api_exit
    - ERR_BAIL
    - tree_store_value
    - tree_find
    - free
    linkageType: ''
    returnType: int
    signature: "int aug_text_retrieve(struct augeas *aug, const char *lens,\n                      const
      char *node_in, const char *path,\n                      const char *node_out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1795,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1796,1
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1805,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1807,1
    - Dst: ARG_CHECK
      Src: /src/augeas/src/augeas.c:1809,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1809,1
    - Dst: ARG_CHECK
      Src: /src/augeas/src/augeas.c:1810,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1810,1
    - Dst: strrchr
      Src: /src/augeas/src/augeas.c:1812,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1813,1
    - Dst: strndup
      Src: /src/augeas/src/augeas.c:1814,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1815,1
    - Dst: xasprintf
      Src: /src/augeas/src/augeas.c:1817,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1818,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1819,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1822,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1823,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1825,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1826,1
    - Dst: tree_store_value
      Src: /src/augeas/src/augeas.c:1828,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1833,1
    - Dst: STREQ
      Src: /src/augeas/src/augeas.c:1834,1
    - Dst: streqv
      Src: /src/augeas/src/augeas.c:1835,1
    - Dst: tree_append_s
      Src: /src/augeas/src/augeas.c:1841,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1842,1
    - Dst: tree_set_value
      Src: /src/augeas/src/augeas.c:1843,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1844,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1849,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1850,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1851,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - aug
    - lens
    - file
    - excl
    argTypes:
    - struct augeas*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1793
    functionDepth: 4
    functionLinenumber: 1793
    functionLinenumberEnd: 1853
    functionName: aug_transform
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_child_cr
    - tree_append_s
    - api_entry
    - strndup
    - api_exit
    - xasprintf
    - STREQ
    - streqv
    - tree_set_value
    - strrchr
    - strdup
    - list_for_each
    - tree_store_value
    - ARG_CHECK
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: int
    signature: "int aug_transform(struct augeas *aug, const char *lens,\n                  const
      char *file, int excl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1858,1
    - Dst: ARG_CHECK
      Src: /src/augeas/src/augeas.c:1859,1
    - Dst: ARG_CHECK
      Src: /src/augeas/src/augeas.c:1860,1
    - Dst: pathx_escape_name
      Src: /src/augeas/src/augeas.c:1862,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1863,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - aug
    - in
    - out
    argTypes:
    - augeas*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1855
    functionDepth: 3
    functionLinenumber: 1855
    functionLinenumberEnd: 1867
    functionName: aug_escape_name
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 2
    functionsReached:
    - api_entry
    - api_exit
    - pathx_escape_name
    - ARG_CHECK
    - ERR_NOMEM
    linkageType: ''
    returnType: int
    signature: int aug_escape_name(augeas *aug, const char *in, char **out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1871,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/augeas.c:1872,1
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1876,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1878,1
    - Dst: list_for_each
      Src: /src/augeas/src/augeas.c:1880,1
    - Dst: filter_matches
      Src: /src/augeas/src/augeas.c:1881,1
    - Dst: transform_load
      Src: /src/augeas/src/augeas.c:1882,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1888,1
    - Dst: xasprintf
      Src: /src/augeas/src/augeas.c:1893,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1894,1
    - Dst: tree_fpath
      Src: /src/augeas/src/augeas.c:1896,1
    - Dst: tree_clean
      Src: /src/augeas/src/augeas.c:1898,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1903,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:1904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - aug
    - file
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1869
    functionDepth: 6
    functionLinenumber: 1869
    functionLinenumberEnd: 1906
    functionName: aug_load_file
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 5
    functionsReached:
    - tree_clean
    - tree_child_cr
    - api_entry
    - ERR_THROW
    - api_exit
    - xasprintf
    - free
    - list_for_each
    - filter_matches
    - transform_load
    - ERR_NOMEM
    - tree_fpath
    linkageType: ''
    returnType: int
    signature: int aug_load_file(struct augeas *aug, const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1912,1
    - Dst: strlen
      Src: /src/augeas/src/augeas.c:1914,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1918,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1918,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1919,1
    - Dst: print_tree
      Src: /src/augeas/src/augeas.c:1921,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1923,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - aug
    - out
    - pathin
    argTypes:
    - struct augeas*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1908
    functionDepth: 5
    functionLinenumber: 1908
    functionLinenumberEnd: 1926
    functionName: aug_print
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - print_tree
    - api_exit
    - ERR_BAIL
    - strlen
    - free_pathx
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: int aug_print(const struct augeas *aug, FILE *out, const char *pathin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ROOT_P
      Src: /src/augeas/src/augeas.c:1932,1
    - Dst: ALLOC
      Src: /src/augeas/src/augeas.c:1938,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1939,1
    - Dst: make_string
      Src: /src/augeas/src/augeas.c:1940,1
    - Dst: path_of_tree
      Src: /src/augeas/src/augeas.c:1940,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1941,1
    - Dst: strdup
      Src: /src/augeas/src/augeas.c:1943,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:1944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - aug
    - tree
    argTypes:
    - augeas*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 1948
    functionName: tree_source
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 0
    functionsReached:
    - path_of_tree
    - ROOT_P
    - make_string
    - strdup
    - ERR_NOMEM
    - ALLOC
    linkageType: ''
    returnType: char
    signature: 'char *

      tree_source(const augeas *aug, struct tree *tree)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1955,1
    - Dst: ARG_CHECK
      Src: /src/augeas/src/augeas.c:1957,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1961,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1961,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1962,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/augeas.c:1964,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1965,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1966,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:1968,1
    - Dst: tree_source
      Src: /src/augeas/src/augeas.c:1971,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1972,1
    - Dst: free_pathx
      Src: /src/augeas/src/augeas.c:1976,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - aug
    - path
    - file_path
    argTypes:
    - augeas*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1950
    functionDepth: 5
    functionLinenumber: 1950
    functionLinenumberEnd: 1979
    functionName: aug_source
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - pathx_aug_parse
    - api_entry
    - ERR_THROW
    - tree_source
    - api_exit
    - ERR_BAIL
    - free_pathx
    - pathx_find_one
    - ARG_CHECK
    - tree_root_ctx
    linkageType: ''
    returnType: int
    signature: int aug_source(const augeas *aug, const char *path, char **file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:1994,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/augeas.c:1996,1
    - Dst: tree_root_ctx
      Src: /src/augeas/src/augeas.c:1996,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:1997,1
    - Dst: pathx_first
      Src: /src/augeas/src/augeas.c:1999,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:2000,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2001,1
    - Dst: tree_source
      Src: /src/augeas/src/augeas.c:2003,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2005,1
    - Dst: tree_find
      Src: /src/augeas/src/augeas.c:2007,1
    - Dst: xasprintf
      Src: /src/augeas/src/augeas.c:2009,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:2010,1
    - Dst: aug_get
      Src: /src/augeas/src/augeas.c:2012,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:2013,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2015,1
    - Dst: xasprintf
      Src: /src/augeas/src/augeas.c:2017,1
    - Dst: strlen
      Src: /src/augeas/src/augeas.c:2017,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augeas.c:2018,1
    - Dst: xread_file
      Src: /src/augeas/src/augeas.c:2020,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2022,1
    - Dst: text_retrieve
      Src: /src/augeas/src/augeas.c:2024,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2031,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2032,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2033,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2034,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2035,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:2036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - aug
    - path
    - out
    argTypes:
    - struct augeas*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 1981
    functionDepth: 6
    functionLinenumber: 1981
    functionLinenumberEnd: 2038
    functionName: aug_preview
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - aug_get
    - pathx_aug_parse
    - api_entry
    - xread_file
    - text_retrieve
    - ERR_THROW
    - tree_source
    - xasprintf
    - api_exit
    - ERR_BAIL
    - strlen
    - tree_find
    - ERR_NOMEM
    - free
    - tree_root_ctx
    - pathx_first
    linkageType: ''
    returnType: int
    signature: int aug_preview(struct augeas *aug, const char *path, char **out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_tree
      Src: /src/augeas/src/augeas.c:2045,1
    - Dst: unref
      Src: /src/augeas/src/augeas.c:2046,1
    - Dst: free_value
      Src: /src/augeas/src/augeas.c:2049,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2052,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2053,1
    - Dst: free_symtab
      Src: /src/augeas/src/augeas.c:2054,1
    - Dst: unref
      Src: /src/augeas/src/augeas.c:2055,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2056,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2057,1
    - Dst: free
      Src: /src/augeas/src/augeas.c:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2040
    functionDepth: 3
    functionLinenumber: 2040
    functionLinenumberEnd: 2059
    functionName: aug_close
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 46
    functionsReached:
    - free_symtab
    - free_value
    - unref
    - free_tree
    - free
    linkageType: ''
    returnType: void
    signature: void aug_close(struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:2062,1
    - Dst: load_module_file
      Src: /src/augeas/src/augeas.c:2063,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:2064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - aug
    - filename
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2061
    functionDepth: 10
    functionLinenumber: 2061
    functionLinenumberEnd: 2066
    functionName: __aug_load_module_file
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - api_exit
    - load_module_file
    - api_entry
    linkageType: ''
    returnType: int
    signature: int __aug_load_module_file(struct augeas *aug, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/augeas.c:2070,1
    - Dst: streqv
      Src: /src/augeas/src/augeas.c:2072,1
    - Dst: tree_equal
      Src: /src/augeas/src/augeas.c:2074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct tree*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2080
    functionName: tree_equal
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 2
    functionsReached:
    - streqv
    - tree_equal
    linkageType: ''
    returnType: int
    signature: int tree_equal(const struct tree *t1, const struct tree *t2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:2095,1
    - Dst: pathx_symtab_get_tree
      Src: /src/augeas/src/augeas.c:2097,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2098,1
    - Dst: tree_source
      Src: /src/augeas/src/augeas.c:2102,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augeas.c:2103,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:2115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - aug
    - var
    - i
    - value
    - label
    - file_path
    argTypes:
    - augeas*
    - char*
    - int
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2082
    functionDepth: 3
    functionLinenumber: 2082
    functionLinenumberEnd: 2117
    functionName: aug_ns_attr
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - api_entry
    - ERR_THROW
    - tree_source
    - api_exit
    - ERR_BAIL
    - pathx_symtab_get_tree
    linkageType: ''
    returnType: int
    signature: "int aug_ns_attr(const augeas* aug, const char *var, int i,\n                const
      char **value, const char **label, char **file_path)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:2129,1
    - Dst: pathx_symtab_get_tree
      Src: /src/augeas/src/augeas.c:2131,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2132,1
    - Dst: tree_sibling_index
      Src: /src/augeas/src/augeas.c:2139,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:2145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - aug
    - var
    - i
    - label
    - index
    argTypes:
    - augeas*
    - char*
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2119
    functionDepth: 3
    functionLinenumber: 2119
    functionLinenumberEnd: 2147
    functionName: aug_ns_label
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - tree_sibling_index
    - api_entry
    - ERR_THROW
    - api_exit
    - pathx_symtab_get_tree
    linkageType: ''
    returnType: int
    signature: "int aug_ns_label(const augeas* aug, const char *var, int i,\n                 const
      char **label, int *index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:2156,1
    - Dst: pathx_symtab_get_tree
      Src: /src/augeas/src/augeas.c:2158,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2159,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:2168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - aug
    - var
    - i
    - value
    argTypes:
    - augeas*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2149
    functionDepth: 3
    functionLinenumber: 2149
    functionLinenumberEnd: 2170
    functionName: aug_ns_value
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - ERR_THROW
    - api_exit
    - pathx_symtab_get_tree
    - api_entry
    linkageType: ''
    returnType: int
    signature: "int aug_ns_value(const augeas* aug, const char *var, int i,\n                 const
      char **value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:2175,1
    - Dst: pathx_symtab_count
      Src: /src/augeas/src/augeas.c:2177,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:2179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - aug
    - var
    argTypes:
    - augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2172
    functionDepth: 3
    functionLinenumber: 2172
    functionLinenumberEnd: 2182
    functionName: aug_ns_count
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 4
    functionsReached:
    - api_exit
    - pathx_symtab_count
    - api_entry
    linkageType: ''
    returnType: int
    signature: int aug_ns_count(const augeas *aug, const char *var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augeas.c:2189,1
    - Dst: pathx_symtab_get_tree
      Src: /src/augeas/src/augeas.c:2191,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augeas.c:2192,1
    - Dst: path_of_tree
      Src: /src/augeas/src/augeas.c:2195,1
    - Dst: api_exit
      Src: /src/augeas/src/augeas.c:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - aug
    - var
    - i
    - path
    argTypes:
    - augeas*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2184
    functionDepth: 3
    functionLinenumber: 2184
    functionLinenumberEnd: 2202
    functionName: aug_ns_path
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - path_of_tree
    - api_entry
    - ERR_THROW
    - api_exit
    - pathx_symtab_get_tree
    linkageType: ''
    returnType: int
    signature: int aug_ns_path(const augeas *aug, const char *var, int i, char **path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2209
    functionName: aug_error
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aug_error(struct augeas *aug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/augeas.c:2214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2211
    functionDepth: 1
    functionLinenumber: 2211
    functionLinenumberEnd: 2217
    functionName: aug_error_message
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached:
    - ARRAY_CARDINALITY
    linkageType: ''
    returnType: char
    signature: char *aug_error_message(struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2221
    functionName: aug_error_minor_message
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *aug_error_minor_message(struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2225
    functionName: aug_error_details
    functionSourceFile: /src/augeas/src/augeas.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *aug_error_details(struct augeas *aug)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/transform.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - glb
    - include
    argTypes:
    - struct string*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: make_filter
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - make_ref
    linkageType: ''
    returnType: struct filter
    signature: struct filter *make_filter(struct string *glb, unsigned int include)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/transform.c:90,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:91,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:92,1
    - Dst: free
      Src: /src/augeas/src/transform.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct filter*
    assertStmts:
    - condition: (f->ref == 0)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/augeas/src/transform.c
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: free_filter
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_filter(struct filter *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/augeas/src/transform.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pathbase
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *pathbase(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/transform.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: is_excl
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - streqv
    linkageType: ''
    returnType: bool
    signature: bool is_excl(struct tree *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/transform.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: is_incl
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - streqv
    linkageType: ''
    returnType: bool
    signature: bool is_incl(struct tree *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/augeas/src/transform.c:113,1
    - Dst: S_ISREG
      Src: /src/augeas/src/transform.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: is_regular_file
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - S_ISREG
    - stat
    linkageType: ''
    returnType: bool
    signature: bool is_regular_file(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/transform.c:125,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:126,1
    - Dst: stat
      Src: /src/augeas/src/transform.c:130,1
    - Dst: strdup
      Src: /src/augeas/src/transform.c:134,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:135,1
    - Dst: xasprintf
      Src: /src/augeas/src/transform.c:137,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:138,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - aug
    - fname
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: mtime_as_string
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - xasprintf
    - FREE
    - strdup
    - stat
    - ERR_NOMEM
    linkageType: ''
    returnType: char
    signature: char *mtime_as_string(struct augeas *aug, const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/transform.c:152,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:152,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:156,1
    - Dst: fnmatch
      Src: /src/augeas/src/transform.c:164,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:165,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pattern
    - string
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: fnmatch_normalize
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - strlen
    - fnmatch
    - FREE
    - ALLOC_N
    linkageType: ''
    returnType: int
    signature: int fnmatch_normalize(const char *pattern, const char *string, int
      flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tree_child
      Src: /src/augeas/src/transform.c:176,1
    - Dst: xstrtoint64
      Src: /src/augeas/src/transform.c:185,1
    - Dst: stat
      Src: /src/augeas/src/transform.c:191,1
    - Dst: tree_child
      Src: /src/augeas/src/transform.c:198,1
    - Dst: tree_fpath
      Src: /src/augeas/src/transform.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - aug
    - fname
    - finfo
    argTypes:
    - struct augeas*
    - char*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 204
    functionName: file_current
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - stat
    - tree_fpath
    - tree_child
    - xstrtoint64
    linkageType: ''
    returnType: bool
    signature: "bool file_current(struct augeas *aug, const char *fname,\n                         struct
      tree *finfo)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/transform.c:214,1
    - Dst: MEMZERO
      Src: /src/augeas/src/transform.c:218,1
    - Dst: list_for_each
      Src: /src/augeas/src/transform.c:220,1
    - Dst: is_incl
      Src: /src/augeas/src/transform.c:222,1
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:224,1
    - Dst: glob
      Src: /src/augeas/src/transform.c:225,1
    - Dst: free
      Src: /src/augeas/src/transform.c:226,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/transform.c:236,1
    - Dst: list_for_each
      Src: /src/augeas/src/transform.c:243,1
    - Dst: is_excl
      Src: /src/augeas/src/transform.c:244,1
    - Dst: strchr
      Src: /src/augeas/src/transform.c:247,1
    - Dst: pathbase
      Src: /src/augeas/src/transform.c:248,1
    - Dst: fnmatch_normalize
      Src: /src/augeas/src/transform.c:250,1
    - Dst: is_regular_file
      Src: /src/augeas/src/transform.c:258,1
    - Dst: strdup
      Src: /src/augeas/src/transform.c:261,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/transform.c:269,1
    - Dst: globfree
      Src: /src/augeas/src/transform.c:275,1
    - Dst: free
      Src: /src/augeas/src/transform.c:280,1
    - Dst: free
      Src: /src/augeas/src/transform.c:281,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 4
    argNames:
    - xfm
    - root
    - nmatches
    - matches
    argTypes:
    - struct tree*
    - char*
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 284
    functionName: filter_generate
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - is_excl
    - ALLOC_N
    - MEMZERO
    - pathjoin
    - pathbase
    - globfree
    - glob
    - is_regular_file
    - fnmatch_normalize
    - strchr
    - list_for_each
    - strlen
    - strdup
    - is_incl
    - REALLOC_N
    - free
    linkageType: ''
    returnType: int
    signature: "int filter_generate(struct tree *xfm, const char *root,\n                           int
      *nmatches, char ***matches)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/transform.c:288,1
    - Dst: is_incl
      Src: /src/augeas/src/transform.c:289,1
    - Dst: fnmatch_normalize
      Src: /src/augeas/src/transform.c:289,1
    - Dst: list_for_each
      Src: /src/augeas/src/transform.c:296,1
    - Dst: is_excl
      Src: /src/augeas/src/transform.c:297,1
    - Dst: fnmatch_normalize
      Src: /src/augeas/src/transform.c:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - xfm
    - path
    argTypes:
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: filter_matches
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - fnmatch_normalize
    - is_incl
    - list_for_each
    - is_excl
    linkageType: ''
    returnType: int
    signature: int filter_matches(struct tree *xfm, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/transform.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lens
    - filter
    argTypes:
    - struct lens*
    - struct filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: make_transform
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - make_ref
    linkageType: ''
    returnType: struct transform
    signature: struct transform *make_transform(struct lens *lens, struct filter *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/transform.c:317,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:318,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:319,1
    - Dst: free
      Src: /src/augeas/src/transform.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - xform
    argTypes:
    - struct transform*
    assertStmts:
    - condition: (xform->ref == 0)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/augeas/src/transform.c
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: free_transform
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_transform(struct transform *xform)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:326,1
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: err_path
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - pathjoin
    linkageType: ''
    returnType: char
    signature: char *err_path(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/transform.c:341,1
    - Dst: vasprintf
      Src: /src/augeas/src/transform.c:342,1
    - Dst: va_end
      Src: /src/augeas/src/transform.c:343,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:346,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/transform.c:348,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:349,1
    - Dst: tree_set_value
      Src: /src/augeas/src/transform.c:351,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:352,1
    - Dst: free
      Src: /src/augeas/src/transform.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - aug
    - err_info
    - sub
    - format
    argTypes:
    - struct augeas*
    - struct tree*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 357
    functionName: err_set
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - va_end
    - tree_child_cr
    - va_start
    - free
    - tree_set_value
    - ERR_NOMEM
    - vasprintf
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *err_set(struct augeas *aug,\n                            struct
      tree *err_info, const char *sub,\n                            const char *format,
      ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: format_info
      Src: /src/augeas/src/transform.c:366,1
    - Dst: err_set
      Src: /src/augeas/src/transform.c:368,1
    - Dst: free
      Src: /src/augeas/src/transform.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - aug
    - where
    - lens
    - label
    argTypes:
    - struct augeas*
    - struct tree*
    - struct lens*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 372
    functionName: err_lens_entry
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - format_info
    - err_set
    - free
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *err_lens_entry(struct augeas *aug, struct tree *where,\n
      \                          struct lens *lens, const char *label)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:390,1
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:392,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:394,1
    - Dst: tree_fpath_cr
      Src: /src/augeas/src/transform.c:396,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:397,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/transform.c:400,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:401,1
    - Dst: tree_set_value
      Src: /src/augeas/src/transform.c:403,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:404,1
    - Dst: err_set
      Src: /src/augeas/src/transform.c:411,1
    - Dst: calc_line_ofs
      Src: /src/augeas/src/transform.c:413,1
    - Dst: err_set
      Src: /src/augeas/src/transform.c:414,1
    - Dst: err_set
      Src: /src/augeas/src/transform.c:415,1
    - Dst: err_set
      Src: /src/augeas/src/transform.c:419,1
    - Dst: err_lens_entry
      Src: /src/augeas/src/transform.c:421,1
    - Dst: err_lens_entry
      Src: /src/augeas/src/transform.c:423,1
    - Dst: err_lens_entry
      Src: /src/augeas/src/transform.c:424,1
    - Dst: err_set
      Src: /src/augeas/src/transform.c:426,1
    - Dst: strerror
      Src: /src/augeas/src/transform.c:428,1
    - Dst: err_set
      Src: /src/augeas/src/transform.c:429,1
    - Dst: tree_child
      Src: /src/augeas/src/transform.c:433,1
    - Dst: tree_unlink
      Src: /src/augeas/src/transform.c:435,1
    - Dst: tree_clean
      Src: /src/augeas/src/transform.c:438,1
    - Dst: free
      Src: /src/augeas/src/transform.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 7
    argNames:
    - aug
    - filename
    - path
    - status
    - errnum
    - err
    - text
    argTypes:
    - struct augeas*
    - char*
    - char*
    - char*
    - int
    - struct lns_error*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 380
    functionDepth: 6
    functionLinenumber: 380
    functionLinenumberEnd: 443
    functionName: store_error
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - calc_line_ofs
    - tree_clean
    - tree_child_cr
    - tree_unlink
    - tree_child
    - pathjoin
    - ERR_BAIL
    - err_lens_entry
    - tree_set_value
    - err_set
    - tree_fpath_cr
    - ERR_NOMEM
    - free
    - strerror
    linkageType: ''
    returnType: int
    signature: "int store_error(struct augeas *aug,\n                       const
      char *filename, const char *path,\n                       const char *status,
      int errnum,\n                       const struct lns_error *err, const char
      *text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:465,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:466,1
    - Dst: tree_fpath_cr
      Src: /src/augeas/src/transform.c:468,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:470,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/transform.c:473,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:474,1
    - Dst: tree_set_value
      Src: /src/augeas/src/transform.c:475,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:476,1
    - Dst: strdup
      Src: /src/augeas/src/transform.c:480,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:481,1
    - Dst: mtime_as_string
      Src: /src/augeas/src/transform.c:483,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:484,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/transform.c:486,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:487,1
    - Dst: tree_store_value
      Src: /src/augeas/src/transform.c:488,1
    - Dst: format_info
      Src: /src/augeas/src/transform.c:491,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:492,1
    - Dst: tree_path_cr
      Src: /src/augeas/src/transform.c:493,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:494,1
    - Dst: tree_set_value
      Src: /src/augeas/src/transform.c:495,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:496,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:497,1
    - Dst: tree_set_value
      Src: /src/augeas/src/transform.c:501,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:502,1
    - Dst: tree_clean
      Src: /src/augeas/src/transform.c:504,1
    - Dst: free
      Src: /src/augeas/src/transform.c:508,1
    - Dst: free
      Src: /src/augeas/src/transform.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 6
    argNames:
    - aug
    - node
    - lens
    - lens_name
    - filename
    - force_reload
    argTypes:
    - struct augeas*
    - char*
    - struct lens*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 511
    functionName: add_file_info
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - tree_path_cr
    - tree_clean
    - tree_child_cr
    - pathjoin
    - FREE
    - mtime_as_string
    - ERR_BAIL
    - tree_set_value
    - strdup
    - tree_fpath_cr
    - format_info
    - tree_store_value
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: int
    signature: "int add_file_info(struct augeas *aug, const char *node,\n                         struct
      lens *lens, const char *lens_name,\n                         const char *filename,
      bool force_reload)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/transform.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - text
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 524
    functionName: append_newline
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    linkageType: ''
    returnType: char
    signature: char *append_newline(char *text, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:531,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - aug
    - fname
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: file_name_path
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - pathjoin
    - strlen
    linkageType: ''
    returnType: char
    signature: char *file_name_path(struct augeas *aug, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_fpath_cr
      Src: /src/augeas/src/transform.c:540,1
    - Dst: ERR_RET
      Src: /src/augeas/src/transform.c:541,1
    - Dst: tree_unlink_children
      Src: /src/augeas/src/transform.c:544,1
    - Dst: list_append
      Src: /src/augeas/src/transform.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - aug
    - fpath
    - sub
    argTypes:
    - struct augeas*
    - char*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 6
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: tree_freplace
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - ERR_RET
    - list_append
    - tree_unlink_children
    - tree_fpath_cr
    linkageType: ''
    returnType: void
    signature: "void tree_freplace(struct augeas *aug, const char *fpath,\n                         struct
      tree *sub)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_for_each(s, sub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/transform.c:556,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:557,1
    - Dst: make_ref
      Src: /src/augeas/src/transform.c:560,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:561,1
    - Dst: strdup
      Src: /src/augeas/src/transform.c:562,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - aug
    - filename
    - text
    - text_len
    argTypes:
    - struct augeas*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 578
    functionName: make_lns_info
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - unref
    - ERR_NOMEM
    - strdup
    - make_ref
    linkageType: ''
    returnType: struct info
    signature: "struct info *\nmake_lns_info(struct augeas *aug, const char *filename,\n
      \             const char *text, int text_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_lns_info
      Src: /src/augeas/src/transform.c:598,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:599,1
    - Dst: make_span
      Src: /src/augeas/src/transform.c:604,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:605,1
    - Dst: lns_get
      Src: /src/augeas/src/transform.c:608,1
    - Dst: tree_freplace
      Src: /src/augeas/src/transform.c:612,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:613,1
    - Dst: move
      Src: /src/augeas/src/transform.c:617,1
    - Dst: free_span
      Src: /src/augeas/src/transform.c:624,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:625,1
    - Dst: free_tree
      Src: /src/augeas/src/transform.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 7
    argNames:
    - aug
    - lens
    - filename
    - text
    - text_len
    - path
    - err
    argTypes:
    - struct augeas*
    - struct lens*
    - char*
    - char*
    - int
    - char*
    - struct lns_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 588
    functionDepth: 7
    functionLinenumber: 588
    functionLinenumberEnd: 627
    functionName: lens_get
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - tree_freplace
    - ERR_BAIL
    - free_tree
    - make_span
    - make_lns_info
    - move
    - unref
    - lns_get
    - ERR_NOMEM
    - free_span
    linkageType: ''
    returnType: void
    signature: "void lens_get(struct augeas *aug,\n                     struct lens
      *lens,\n                     const char *filename,\n                     const
      char *text, int text_len,\n                     const char *path,\n                     struct
      lns_error **err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_name_path
      Src: /src/augeas/src/transform.c:637,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:638,1
    - Dst: add_file_info
      Src: /src/augeas/src/transform.c:640,1
    - Dst: xread_file
      Src: /src/augeas/src/transform.c:644,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:649,1
    - Dst: append_newline
      Src: /src/augeas/src/transform.c:650,1
    - Dst: lens_get
      Src: /src/augeas/src/transform.c:652,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:657,1
    - Dst: store_error
      Src: /src/augeas/src/transform.c:661,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:661,1
    - Dst: free_lns_error
      Src: /src/augeas/src/transform.c:664,1
    - Dst: free
      Src: /src/augeas/src/transform.c:665,1
    - Dst: free
      Src: /src/augeas/src/transform.c:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - aug
    - lens
    - lens_name
    - filename
    argTypes:
    - struct augeas*
    - struct lens*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 629
    functionDepth: 7
    functionLinenumber: 629
    functionLinenumberEnd: 668
    functionName: load_file
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 5
    functionsReached:
    - xread_file
    - free_lns_error
    - lens_get
    - store_error
    - ERR_BAIL
    - strlen
    - append_newline
    - add_file_info
    - ERR_NOMEM
    - free
    - file_name_path
    linkageType: ''
    returnType: int
    signature: "int load_file(struct augeas *aug, struct lens *lens,\n                     const
      char *lens_name, char *filename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/transform.c:681,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/transform.c:683,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/transform.c:685,1
    - Dst: lens_lookup
      Src: /src/augeas/src/transform.c:689,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/transform.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - aug
    - name
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 696
    functionName: lens_from_name
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - ERR_THROW
    - streqv
    - lens_lookup
    linkageType: ''
    returnType: struct lens
    signature: struct lens *lens_from_name(struct augeas *aug, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lens_from_name
      Src: /src/augeas/src/transform.c:705,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:706,1
    - Dst: lens_get
      Src: /src/augeas/src/transform.c:708,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:708,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:713,1
    - Dst: store_error
      Src: /src/augeas/src/transform.c:717,1
    - Dst: free_lns_error
      Src: /src/augeas/src/transform.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - aug
    - lens_path
    - path
    - text
    argTypes:
    - struct augeas*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 720
    functionName: text_store
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 4
    functionsReached:
    - free_lns_error
    - store_error
    - ERR_BAIL
    - lens_from_name
    - strlen
    - lens_get
    linkageType: ''
    returnType: int
    signature: "int text_store(struct augeas *aug, const char *lens_path,\n               const
      char *path, const char *text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tree_child
      Src: /src/augeas/src/transform.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - xfm
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 730
    functionName: xfm_lens_name
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - tree_child
    linkageType: ''
    returnType: char
    signature: char *xfm_lens_name(struct tree *xfm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/transform.c:740,1
    - Dst: lens_from_name
      Src: /src/augeas/src/transform.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - aug
    - xfm
    - lens_name
    argTypes:
    - struct augeas*
    - struct tree*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 732
    functionDepth: 5
    functionLinenumber: 732
    functionLinenumberEnd: 749
    functionName: xfm_lens
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - streqv
    - lens_from_name
    linkageType: ''
    returnType: struct lens
    signature: "struct lens *xfm_lens(struct augeas *aug,\n                      struct
      tree *xfm, const char **lens_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/transform.c:752,1
    - Dst: strdup
      Src: /src/augeas/src/transform.c:753,1
    - Dst: free
      Src: /src/augeas/src/transform.c:756,1
    - Dst: free
      Src: /src/augeas/src/transform.c:757,1
    - Dst: tree_append
      Src: /src/augeas/src/transform.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - xfm
    - msg
    argTypes:
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 761
    functionName: xfm_error
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - free
    - tree_append
    - strdup
    linkageType: ''
    returnType: void
    signature: void xfm_error(struct tree *xfm, const char *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/transform.c:767,1
    - Dst: is_incl
      Src: /src/augeas/src/transform.c:769,1
    - Dst: is_excl
      Src: /src/augeas/src/transform.c:769,1
    - Dst: strchr
      Src: /src/augeas/src/transform.c:769,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/transform.c:773,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:773,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:774,1
    - Dst: memmove
      Src: /src/augeas/src/transform.c:775,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:775,1
    - Dst: streqv
      Src: /src/augeas/src/transform.c:779,1
    - Dst: tree_unlink
      Src: /src/augeas/src/transform.c:782,1
    - Dst: xfm_error
      Src: /src/augeas/src/transform.c:789,1
    - Dst: xfm_error
      Src: /src/augeas/src/transform.c:793,1
    - Dst: lens_from_name
      Src: /src/augeas/src/transform.c:796,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:797,1
    - Dst: xfm_error
      Src: /src/augeas/src/transform.c:801,1
    - Dst: reset_error
      Src: /src/augeas/src/transform.c:804,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - aug
    - xfm
    argTypes:
    - struct augeas*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 763
    functionDepth: 5
    functionLinenumber: 763
    functionLinenumberEnd: 806
    functionName: transform_validate
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 2
    functionsReached:
    - tree_unlink
    - is_excl
    - reset_error
    - lens_from_name
    - ERR_BAIL
    - streqv
    - strchr
    - ERR_NOMEM
    - strlen
    - memmove
    - is_incl
    - REALLOC_N
    - xfm_error
    linkageType: ''
    returnType: int
    signature: int transform_validate(struct augeas *aug, struct tree *xfm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: err_path
      Src: /src/augeas/src/transform.c:810,1
    - Dst: tree_fpath_cr
      Src: /src/augeas/src/transform.c:816,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:817,1
    - Dst: tree_unlink_children
      Src: /src/augeas/src/transform.c:821,1
    - Dst: tree_set_value
      Src: /src/augeas/src/transform.c:822,1
    - Dst: tree_child_cr
      Src: /src/augeas/src/transform.c:824,1
    - Dst: va_start
      Src: /src/augeas/src/transform.c:828,1
    - Dst: vasprintf
      Src: /src/augeas/src/transform.c:829,1
    - Dst: va_end
      Src: /src/augeas/src/transform.c:830,1
    - Dst: tree_set_value
      Src: /src/augeas/src/transform.c:833,1
    - Dst: free
      Src: /src/augeas/src/transform.c:834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - aug
    - status
    - filename
    - format
    argTypes:
    - struct augeas*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 808
    functionDepth: 6
    functionLinenumber: 808
    functionLinenumberEnd: 835
    functionName: transform_file_error
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - va_end
    - tree_child_cr
    - err_path
    - tree_fpath_cr
    - FREE
    - va_start
    - free
    - tree_set_value
    - tree_unlink_children
    - vasprintf
    linkageType: ''
    returnType: void
    signature: "void transform_file_error(struct augeas *aug, const char *status,\n
      \                         const char *filename, const char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pathjoin
      Src: /src/augeas/src/transform.c:842,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:843,1
    - Dst: tree_fpath
      Src: /src/augeas/src/transform.c:845,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:846,1
    - Dst: free
      Src: /src/augeas/src/transform.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - aug
    - fname
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 837
    functionDepth: 6
    functionLinenumber: 837
    functionLinenumberEnd: 850
    functionName: file_info
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - pathjoin
    - ERR_BAIL
    - tree_fpath
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: struct tree
    signature: struct tree *file_info(struct augeas *aug, const char *fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xfm_lens
      Src: /src/augeas/src/transform.c:856,1
    - Dst: filter_generate
      Src: /src/augeas/src/transform.c:864,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:868,1
    - Dst: file_info
      Src: /src/augeas/src/transform.c:869,1
    - Dst: STRNEQ
      Src: /src/augeas/src/transform.c:871,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:872,1
    - Dst: tree_child
      Src: /src/augeas/src/transform.c:877,1
    - Dst: xfm_lens_name
      Src: /src/augeas/src/transform.c:887,1
    - Dst: lens_from_name
      Src: /src/augeas/src/transform.c:888,1
    - Dst: file_name_path
      Src: /src/augeas/src/transform.c:890,1
    - Dst: transform_file_error
      Src: /src/augeas/src/transform.c:891,1
    - Dst: aug_rm
      Src: /src/augeas/src/transform.c:894,1
    - Dst: free
      Src: /src/augeas/src/transform.c:895,1
    - Dst: file_current
      Src: /src/augeas/src/transform.c:897,1
    - Dst: load_file
      Src: /src/augeas/src/transform.c:898,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:902,1
    - Dst: lens_release
      Src: /src/augeas/src/transform.c:904,1
    - Dst: free
      Src: /src/augeas/src/transform.c:905,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - aug
    - xfm
    - file
    argTypes:
    - struct augeas*
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 852
    functionDepth: 8
    functionLinenumber: 852
    functionLinenumberEnd: 907
    functionName: transform_load
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 2
    functionsReached:
    - lens_release
    - file_info
    - tree_child
    - load_file
    - file_current
    - FREE
    - lens_from_name
    - filter_generate
    - transform_file_error
    - STRNEQ
    - strlen
    - xfm_lens
    - xfm_lens_name
    - aug_rm
    - free
    - file_name_path
    linkageType: ''
    returnType: int
    signature: int transform_load(struct augeas *aug, struct tree *xfm, const char
      *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STRNEQLEN
      Src: /src/augeas/src/transform.c:910,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:910,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:911,1
    - Dst: filter_matches
      Src: /src/augeas/src/transform.c:913,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - xfm
    - path
    argTypes:
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 909
    functionDepth: 4
    functionLinenumber: 909
    functionLinenumberEnd: 914
    functionName: transform_applies
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 2
    functionsReached:
    - strlen
    - STRNEQLEN
    - filter_matches
    linkageType: ''
    returnType: int
    signature: int transform_applies(struct tree *xfm, const char *path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_selinux_enabled
      Src: /src/augeas/src/transform.c:920,1
    - Dst: fileno
      Src: /src/augeas/src/transform.c:924,1
    - Dst: fileno
      Src: /src/augeas/src/transform.c:931,1
    - Dst: fstat
      Src: /src/augeas/src/transform.c:933,1
    - Dst: fgetfilecon
      Src: /src/augeas/src/transform.c:939,1
    - Dst: fchown
      Src: /src/augeas/src/transform.c:945,1
    - Dst: fchmod
      Src: /src/augeas/src/transform.c:949,1
    - Dst: fsetfilecon
      Src: /src/augeas/src/transform.c:954,1
    - Dst: freecon
      Src: /src/augeas/src/transform.c:958,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - from
    - to
    - err_status
    argTypes:
    - FILE*
    - FILE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 961
    functionName: transfer_file_attrs
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - fileno
    - fchown
    - fchmod
    - fsetfilecon
    - fgetfilecon
    - is_selinux_enabled
    - fstat
    - freecon
    linkageType: ''
    returnType: int
    signature: "int transfer_file_attrs(FILE *from, FILE *to,\n                               const
      char **err_status)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/augeas/src/transform.c:985,1
    - Dst: fopen
      Src: /src/augeas/src/transform.c:993,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:999,1
    - Dst: open
      Src: /src/augeas/src/transform.c:1007,1
    - Dst: fdopen
      Src: /src/augeas/src/transform.c:1011,1
    - Dst: transfer_file_attrs
      Src: /src/augeas/src/transform.c:1016,1
    - Dst: fread
      Src: /src/augeas/src/transform.c:1019,1
    - Dst: fwrite
      Src: /src/augeas/src/transform.c:1020,1
    - Dst: ferror
      Src: /src/augeas/src/transform.c:1025,1
    - Dst: fflush
      Src: /src/augeas/src/transform.c:1029,1
    - Dst: fsync
      Src: /src/augeas/src/transform.c:1033,1
    - Dst: fileno
      Src: /src/augeas/src/transform.c:1033,1
    - Dst: fclose
      Src: /src/augeas/src/transform.c:1040,1
    - Dst: fclose
      Src: /src/augeas/src/transform.c:1042,1
    - Dst: close
      Src: /src/augeas/src/transform.c:1046,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:1051,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:1053,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 5
    argNames:
    - from
    - to
    - err_status
    - copy_if_rename_fails
    - unlink_if_rename_fails
    argTypes:
    - char*
    - char*
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 1055
    functionName: clone_file
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - fwrite
    - rename
    - fsync
    - fileno
    - fflush
    - fopen
    - ferror
    - fread
    - fclose
    - open
    - fdopen
    - close
    - unlink
    - transfer_file_attrs
    linkageType: ''
    returnType: int
    signature: "int clone_file(const char *from, const char *to,\n                      const
      char **err_status, int copy_if_rename_fails,\n                      int unlink_if_rename_fails)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/transform.c:1058,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:1058,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/transform.c:1061,1
    - Dst: stpcpy
      Src: /src/augeas/src/transform.c:1064,1
    - Dst: stpcpy
      Src: /src/augeas/src/transform.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1067
    functionName: strappend
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - stpcpy
    - strlen
    linkageType: ''
    returnType: char
    signature: char *strappend(const char *s1, const char *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/augeas/src/transform.c:1070,1
    - Dst: pathx_aug_parse
      Src: /src/augeas/src/transform.c:1075,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:1077,1
    - Dst: pathx_find_one
      Src: /src/augeas/src/transform.c:1079,1
    - Dst: tree_insert
      Src: /src/augeas/src/transform.c:1080,1
    - Dst: tree_set
      Src: /src/augeas/src/transform.c:1085,1
    - Dst: free_pathx
      Src: /src/augeas/src/transform.c:1088,1
    - Dst: free_pathx
      Src: /src/augeas/src/transform.c:1091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - aug
    - path
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1069
    functionDepth: 5
    functionLinenumber: 1069
    functionLinenumberEnd: 1093
    functionName: file_saved_event
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - pathx_aug_parse
    - tree_insert
    - ERR_BAIL
    - strrchr
    - free_pathx
    - tree_set
    - pathx_find_one
    linkageType: ''
    returnType: int
    signature: int file_saved_event(struct augeas *aug, const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/transform.c:1103,1
    - Dst: make_lns_info
      Src: /src/augeas/src/transform.c:1106,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:1107,1
    - Dst: make_span
      Src: /src/augeas/src/transform.c:1111,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/transform.c:1112,1
    - Dst: ftell
      Src: /src/augeas/src/transform.c:1114,1
    - Dst: lns_put
      Src: /src/augeas/src/transform.c:1117,1
    - Dst: ftell
      Src: /src/augeas/src/transform.c:1121,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - aug
    - filename
    - lens
    - text
    - tree
    - out
    - err
    argTypes:
    - struct augeas*
    - char*
    - struct lens*
    - char*
    - struct tree*
    - FILE*
    - struct lns_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1099
    functionDepth: 8
    functionLinenumber: 1099
    functionLinenumberEnd: 1125
    functionName: lens_put
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 0
    functionsReached:
    - lns_put
    - ftell
    - ERR_BAIL
    - make_span
    - make_lns_info
    - strlen
    - unref
    - ERR_NOMEM
    linkageType: ''
    returnType: void
    signature: "void lens_put(struct augeas *aug, const char *filename,\n                     struct
      lens *lens, const char *text, struct tree *tree,\n                     FILE
      *out, struct lns_error **err)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/transform.c:1167,1
    - Dst: xfm_lens
      Src: /src/augeas/src/transform.c:1172,1
    - Dst: aug_get
      Src: /src/augeas/src/transform.c:1185,1
    - Dst: asprintf
      Src: /src/augeas/src/transform.c:1187,1
    - Dst: canonicalize_file_name
      Src: /src/augeas/src/transform.c:1192,1
    - Dst: access
      Src: /src/augeas/src/transform.c:1204,1
    - Dst: fopen
      Src: /src/augeas/src/transform.c:1205,1
    - Dst: xfread_file
      Src: /src/augeas/src/transform.c:1206,1
    - Dst: strdup
      Src: /src/augeas/src/transform.c:1208,1
    - Dst: append_newline
      Src: /src/augeas/src/transform.c:1216,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:1216,1
    - Dst: xasprintf
      Src: /src/augeas/src/transform.c:1221,1
    - Dst: xasprintf
      Src: /src/augeas/src/transform.c:1230,1
    - Dst: mkstemp
      Src: /src/augeas/src/transform.c:1238,1
    - Dst: fdopen
      Src: /src/augeas/src/transform.c:1243,1
    - Dst: transfer_file_attrs
      Src: /src/augeas/src/transform.c:1250,1
    - Dst: umask
      Src: /src/augeas/src/transform.c:1256,1
    - Dst: umask
      Src: /src/augeas/src/transform.c:1257,1
    - Dst: fchmod
      Src: /src/augeas/src/transform.c:1259,1
    - Dst: fileno
      Src: /src/augeas/src/transform.c:1259,1
    - Dst: lens_put
      Src: /src/augeas/src/transform.c:1266,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:1267,1
    - Dst: ferror
      Src: /src/augeas/src/transform.c:1270,1
    - Dst: fflush
      Src: /src/augeas/src/transform.c:1275,1
    - Dst: fsync
      Src: /src/augeas/src/transform.c:1280,1
    - Dst: fileno
      Src: /src/augeas/src/transform.c:1280,1
    - Dst: fclose
      Src: /src/augeas/src/transform.c:1285,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:1295,1
    - Dst: xread_file
      Src: /src/augeas/src/transform.c:1300,1
    - Dst: STREQ
      Src: /src/augeas/src/transform.c:1306,1
    - Dst: FREE
      Src: /src/augeas/src/transform.c:1307,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:1310,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:1314,1
    - Dst: xasprintf
      Src: /src/augeas/src/transform.c:1321,1
    - Dst: clone_file
      Src: /src/augeas/src/transform.c:1327,1
    - Dst: strappend
      Src: /src/augeas/src/transform.c:1329,1
    - Dst: clone_file
      Src: /src/augeas/src/transform.c:1335,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:1337,1
    - Dst: strappend
      Src: /src/augeas/src/transform.c:1338,1
    - Dst: add_file_info
      Src: /src/augeas/src/transform.c:1346,1
    - Dst: file_saved_event
      Src: /src/augeas/src/transform.c:1352,1
    - Dst: store_error
      Src: /src/augeas/src/transform.c:1361,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1364,1
    - Dst: lens_release
      Src: /src/augeas/src/transform.c:1365,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1366,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1367,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1368,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1370,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1371,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1372,1
    - Dst: free_lns_error
      Src: /src/augeas/src/transform.c:1373,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:1374,1
    - Dst: fclose
      Src: /src/augeas/src/transform.c:1377,1
    - Dst: fclose
      Src: /src/augeas/src/transform.c:1379,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 188
    argCount: 4
    argNames:
    - aug
    - xfm
    - path
    - tree
    argTypes:
    - struct augeas*
    - struct tree*
    - char*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1158
    functionDepth: 7
    functionLinenumber: 1158
    functionLinenumberEnd: 1381
    functionName: transform_save
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 2
    functionsReached:
    - aug_get
    - fileno
    - file_saved_event
    - ferror
    - FREE
    - fdopen
    - mkstemp
    - strdup
    - fchmod
    - xfm_lens
    - umask
    - access
    - clone_file
    - lens_release
    - fflush
    - xread_file
    - canonicalize_file_name
    - store_error
    - fclose
    - lens_put
    - transfer_file_attrs
    - strappend
    - xasprintf
    - xfread_file
    - unref
    - append_newline
    - add_file_info
    - free
    - fsync
    - free_lns_error
    - fopen
    - STREQ
    - ERR_BAIL
    - strlen
    - asprintf
    - unlink
    linkageType: ''
    returnType: int
    signature: "int transform_save(struct augeas *aug, struct tree *xfm,\n                   const
      char *path, struct tree *tree)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/transform.c:1394,1
    - Dst: lens_from_name
      Src: /src/augeas/src/transform.c:1397,1
    - Dst: init_memstream
      Src: /src/augeas/src/transform.c:1403,1
    - Dst: lens_put
      Src: /src/augeas/src/transform.c:1411,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/transform.c:1412,1
    - Dst: close_memstream
      Src: /src/augeas/src/transform.c:1415,1
    - Dst: store_error
      Src: /src/augeas/src/transform.c:1433,1
    - Dst: lens_release
      Src: /src/augeas/src/transform.c:1435,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1437,1
    - Dst: free_lns_error
      Src: /src/augeas/src/transform.c:1440,1
    - Dst: unref
      Src: /src/augeas/src/transform.c:1441,1
    - Dst: close_memstream
      Src: /src/augeas/src/transform.c:1444,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 6
    argNames:
    - aug
    - lens_name
    - path
    - tree
    - text_in
    - text_out
    argTypes:
    - struct augeas*
    - char*
    - char*
    - struct tree*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1383
    functionDepth: 5
    functionLinenumber: 1383
    functionLinenumberEnd: 1446
    functionName: text_retrieve
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 3
    functionsReached:
    - lens_release
    - free_lns_error
    - MEMZERO
    - store_error
    - ERR_BAIL
    - lens_from_name
    - free
    - unref
    - close_memstream
    - lens_put
    - init_memstream
    linkageType: ''
    returnType: int
    signature: "int text_retrieve(struct augeas *aug, const char *lens_name,\n                  const
      char *path, struct tree *tree,\n                  const char *text_in, char
      **text_out)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tree_child
      Src: /src/augeas/src/transform.c:1457,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:1462,1
    - Dst: path_of_tree
      Src: /src/augeas/src/transform.c:1465,1
    - Dst: strappend
      Src: /src/augeas/src/transform.c:1471,1
    - Dst: canonicalize_file_name
      Src: /src/augeas/src/transform.c:1476,1
    - Dst: file_saved_event
      Src: /src/augeas/src/transform.c:1486,1
    - Dst: strlen
      Src: /src/augeas/src/transform.c:1486,1
    - Dst: asprintf
      Src: /src/augeas/src/transform.c:1497,1
    - Dst: clone_file
      Src: /src/augeas/src/transform.c:1503,1
    - Dst: strappend
      Src: /src/augeas/src/transform.c:1505,1
    - Dst: unlink
      Src: /src/augeas/src/transform.c:1510,1
    - Dst: tree_unlink
      Src: /src/augeas/src/transform.c:1517,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1519,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1520,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1521,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1522,1
    - Dst: store_error
      Src: /src/augeas/src/transform.c:1528,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1530,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1531,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1532,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1533,1
    - Dst: free
      Src: /src/augeas/src/transform.c:1534,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 2
    argNames:
    - aug
    - tree
    argTypes:
    - struct augeas*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1448
    functionDepth: 6
    functionLinenumber: 1448
    functionLinenumberEnd: 1536
    functionName: remove_file
    functionSourceFile: /src/augeas/src/transform.c
    functionUses: 1
    functionsReached:
    - path_of_tree
    - file_saved_event
    - clone_file
    - tree_unlink
    - tree_child
    - strappend
    - canonicalize_file_name
    - store_error
    - strlen
    - asprintf
    - unlink
    - free
    linkageType: ''
    returnType: int
    signature: int remove_file(struct augeas *aug, struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/augtool.c:75,1
    - Dst: vasprintf
      Src: /src/augeas/src/augtool.c:76,1
    - Dst: va_end
      Src: /src/augeas/src/augtool.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - strp
    - format
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: _xasprintf
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vasprintf
    linkageType: ''
    returnType: int
    signature: int _xasprintf(char **strp, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/augtool.c:87,1
    - Dst: asprintf
      Src: /src/augeas/src/augtool.c:88,1
    - Dst: asprintf
      Src: /src/augeas/src/augtool.c:90,1
    - Dst: aug_match
      Src: /src/augeas/src/augtool.c:93,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: child_count
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - asprintf
    - aug_match
    - free
    - strlen
    linkageType: ''
    returnType: int
    signature: int child_count(const char *path)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/augeas/src/augtool.c:105,1
    - Dst: strdup
      Src: /src/augeas/src/augtool.c:112,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/augtool.c:115,1
    - Dst: strncpy
      Src: /src/augeas/src/augtool.c:117,1
    - Dst: strcat
      Src: /src/augeas/src/augtool.c:118,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:122,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:123,1
    - Dst: aug_match
      Src: /src/augeas/src/augtool.c:124,1
    - Dst: aug_get
      Src: /src/augeas/src/augtool.c:129,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:131,1
    - Dst: strrchr
      Src: /src/augeas/src/augtool.c:141,1
    - Dst: STREQLEN
      Src: /src/augeas/src/augtool.c:142,1
    - Dst: strlen
      Src: /src/augeas/src/augtool.c:142,1
    - Dst: child_count
      Src: /src/augeas/src/augtool.c:143,1
    - Dst: realloc
      Src: /src/augeas/src/augtool.c:144,1
    - Dst: strlen
      Src: /src/augeas/src/augtool.c:144,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:146,1
    - Dst: strcat
      Src: /src/augeas/src/augtool.c:150,1
    - Dst: strlen
      Src: /src/augeas/src/augtool.c:155,1
    - Dst: strdup
      Src: /src/augeas/src/augtool.c:158,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:159,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 173
    functionName: readline_path_generator
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - aug_get
    - realloc
    - strcat
    - ALLOC_N
    - STREQLEN
    - aug_match
    - strrchr
    - strdup
    - strlen
    - strncpy
    - free
    - child_count
    linkageType: ''
    returnType: char
    signature: char *readline_path_generator(const char *text, int state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREQLEN
      Src: /src/augeas/src/augtool.c:195,1
    - Dst: strlen
      Src: /src/augeas/src/augtool.c:195,1
    - Dst: strdup
      Src: /src/augeas/src/augtool.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: readline_command_generator
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - STREQLEN
    linkageType: ''
    returnType: char
    signature: char *readline_command_generator(const char *text, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: rl_completion_matches
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char **rl_completion_matches(ATTRIBUTE_UNUSED const char *text,\n
      \                          ATTRIBUTE_UNUSED rl_compentry_func_t *func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/augeas/src/augtool.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: rl_crlf
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: int
    signature: int rl_crlf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - clear_undo
    argTypes:
    - ATTRIBUTE_UNUSED*
    - ATTRIBUTE_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: rl_replace_line
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rl_replace_line(ATTRIBUTE_UNUSED const char *text,\n                              ATTRIBUTE_UNUSED
      int clear_undo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rl_completion_matches
      Src: /src/augeas/src/augtool.c:227,1
    - Dst: rl_completion_matches
      Src: /src/augeas/src/augtool.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: readline_completion
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - rl_completion_matches
    linkageType: ''
    returnType: char
    signature: "char **readline_completion(const char *text, int start,\n                                  ATTRIBUTE_UNUSED
      int end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/augeas/src/augtool.c:239,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/augtool.c:249,1
    - Dst: getpwuid_r
      Src: /src/augeas/src/augtool.c:252,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:253,1
    - Dst: getenv
      Src: /src/augeas/src/augtool.c:256,1
    - Dst: strdup
      Src: /src/augeas/src/augtool.c:258,1
    - Dst: strdup
      Src: /src/augeas/src/augtool.c:263,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 268
    functionName: get_home_dir
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - getpwuid_r
    - sysconf
    - ALLOC_N
    - strdup
    - getenv
    - free
    linkageType: ''
    returnType: char
    signature: char *get_home_dir(uid_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quote_detector
      Src: /src/augeas/src/augtool.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - str
    - index
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: quote_detector
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 1
    functionsReached:
    - quote_detector
    linkageType: ''
    returnType: int
    signature: int quote_detector(char *str, int index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_home_dir
      Src: /src/augeas/src/augtool.c:288,1
    - Dst: getuid
      Src: /src/augeas/src/augtool.c:288,1
    - Dst: _xasprintf
      Src: /src/augeas/src/augtool.c:294,1
    - Dst: mkdir
      Src: /src/augeas/src/augtool.c:297,1
    - Dst: _xasprintf
      Src: /src/augeas/src/augtool.c:300,1
    - Dst: stifle_history
      Src: /src/augeas/src/augtool.c:303,1
    - Dst: read_history
      Src: /src/augeas/src/augtool.c:305,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:308,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: readline_init
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - stifle_history
    - get_home_dir
    - read_history
    - getuid
    - free
    - _xasprintf
    - mkdir
    linkageType: ''
    returnType: void
    signature: void readline_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:314,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:315,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:316,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:318,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:319,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:320,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:322,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:324,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:325,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:326,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:328,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:329,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:330,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:331,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:332,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:334,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:336,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:337,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:338,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:339,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:340,1
    - Dst: exit
      Src: /src/augeas/src/augtool.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 343
    functionName: help
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void help(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/augeas/src/augtool.c:376,1
    - Dst: help
      Src: /src/augeas/src/augtool.c:388,1
    - Dst: argz_add
      Src: /src/augeas/src/augtool.c:394,1
    - Dst: argz_add
      Src: /src/augeas/src/augtool.c:397,1
    - Dst: argz_add
      Src: /src/augeas/src/augtool.c:402,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:436,1
    - Dst: exit
      Src: /src/augeas/src/augtool.c:438,1
    - Dst: argz_stringify
      Src: /src/augeas/src/augtool.c:442,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 443
    functionName: parse_opts
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - getopt_long
    - help
    - argz_add
    - argz_stringify
    linkageType: ''
    returnType: void
    signature: void parse_opts(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_get
      Src: /src/augeas/src/augtool.c:449,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:453,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:454,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:455,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:456,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:457,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:458,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:459,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 6
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: print_version_info
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - aug_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_version_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/augtool.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: print_time_taken
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void print_time_taken(const struct timeval *start,\n                             const
      struct timeval *stop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/augeas/src/augtool.c:476,1
    - Dst: aug_srun
      Src: /src/augeas/src/augtool.c:477,1
    - Dst: gettimeofday
      Src: /src/augeas/src/augtool.c:478,1
    - Dst: print_time_taken
      Src: /src/augeas/src/augtool.c:480,1
    - Dst: isatty
      Src: /src/augeas/src/augtool.c:483,1
    - Dst: fileno
      Src: /src/augeas/src/augtool.c:483,1
    - Dst: add_history
      Src: /src/augeas/src/augtool.c:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - line
    - with_timing
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 486
    functionName: run_command
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - fileno
    - print_time_taken
    - isatty
    - add_history
    - aug_srun
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int run_command(const char *line, bool with_timing)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aug_error
      Src: /src/augeas/src/augtool.c:489,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:490,1
    - Dst: aug_error
      Src: /src/augeas/src/augtool.c:493,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:494,1
    - Dst: aug_error_message
      Src: /src/augeas/src/augtool.c:494,1
    - Dst: aug_error_minor_message
      Src: /src/augeas/src/augtool.c:495,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:496,1
    - Dst: aug_error_minor_message
      Src: /src/augeas/src/augtool.c:497,1
    - Dst: aug_error_details
      Src: /src/augeas/src/augtool.c:498,1
    - Dst: fputs
      Src: /src/augeas/src/augtool.c:499,1
    - Dst: aug_error_details
      Src: /src/augeas/src/augtool.c:499,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: print_aug_error
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - fputs
    - fprintf
    - aug_error_details
    - aug_error_minor_message
    - aug_error
    - aug_error_message
    linkageType: ''
    returnType: void
    signature: void print_aug_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rl_replace_line
      Src: /src/augeas/src/augtool.c:507,1
    - Dst: rl_crlf
      Src: /src/augeas/src/augtool.c:510,1
    - Dst: rl_forced_update_display
      Src: /src/augeas/src/augtool.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signum
    argTypes:
    - ATTRIBUTE_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 512
    functionName: sigint_handler
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - rl_forced_update_display
    - rl_crlf
    - rl_replace_line
    linkageType: ''
    returnType: void
    signature: void sigint_handler(ATTRIBUTE_UNUSED int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/augtool.c:517,1
    - Dst: sigemptyset
      Src: /src/augeas/src/augtool.c:519,1
    - Dst: sigaction
      Src: /src/augeas/src/augtool.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: install_signal_handlers
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    - MEMZERO
    linkageType: ''
    returnType: void
    signature: void install_signal_handlers(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: freopen
      Src: /src/augeas/src/augtool.c:534,1
    - Dst: asprintf
      Src: /src/augeas/src/augtool.c:536,1
    - Dst: perror
      Src: /src/augeas/src/augtool.c:537,1
    - Dst: perror
      Src: /src/augeas/src/augtool.c:539,1
    - Dst: install_signal_handlers
      Src: /src/augeas/src/augtool.c:544,1
    - Dst: isatty
      Src: /src/augeas/src/augtool.c:547,1
    - Dst: fileno
      Src: /src/augeas/src/augtool.c:547,1
    - Dst: fopen
      Src: /src/augeas/src/augtool.c:551,1
    - Dst: readline
      Src: /src/augeas/src/augtool.c:555,1
    - Dst: isatty
      Src: /src/augeas/src/augtool.c:561,1
    - Dst: fileno
      Src: /src/augeas/src/augtool.c:561,1
    - Dst: printf
      Src: /src/augeas/src/augtool.c:564,1
    - Dst: freopen
      Src: /src/augeas/src/augtool.c:568,1
    - Dst: perror
      Src: /src/augeas/src/augtool.c:569,1
    - Dst: isatty
      Src: /src/augeas/src/augtool.c:576,1
    - Dst: fileno
      Src: /src/augeas/src/augtool.c:576,1
    - Dst: fclose
      Src: /src/augeas/src/augtool.c:578,1
    - Dst: freopen
      Src: /src/augeas/src/augtool.c:581,1
    - Dst: perror
      Src: /src/augeas/src/augtool.c:582,1
    - Dst: strncpy
      Src: /src/augeas/src/augtool.c:591,1
    - Dst: printf
      Src: /src/augeas/src/augtool.c:594,1
    - Dst: printf
      Src: /src/augeas/src/augtool.c:604,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:609,1
    - Dst: run_command
      Src: /src/augeas/src/augtool.c:613,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:615,1
    - Dst: print_aug_error
      Src: /src/augeas/src/augtool.c:621,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:625,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 627
    functionName: main_loop
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - fileno
    - install_signal_handlers
    - isatty
    - fopen
    - strncpy
    - print_aug_error
    - fclose
    - freopen
    - asprintf
    - printf
    - readline
    - free
    - run_command
    - perror
    linkageType: ''
    returnType: int
    signature: int main_loop(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/augtool.c:635,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/augtool.c:636,1
    - Dst: strcat
      Src: /src/augeas/src/augtool.c:639,1
    - Dst: strcat
      Src: /src/augeas/src/augtool.c:640,1
    - Dst: printf
      Src: /src/augeas/src/augtool.c:643,1
    - Dst: run_command
      Src: /src/augeas/src/augtool.c:644,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:645,1
    - Dst: printf
      Src: /src/augeas/src/augtool.c:648,1
    - Dst: run_command
      Src: /src/augeas/src/augtool.c:649,1
    - Dst: print_aug_error
      Src: /src/augeas/src/augtool.c:653,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 656
    functionName: run_args
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - strcat
    - ALLOC_N
    - print_aug_error
    - printf
    - strlen
    - free
    - run_command
    linkageType: ''
    returnType: int
    signature: int run_args(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: argz_next
      Src: /src/augeas/src/augtool.c:664,1
    - Dst: _xasprintf
      Src: /src/augeas/src/augtool.c:665,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:667,1
    - Dst: aug_srun
      Src: /src/augeas/src/augtool.c:669,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:671,1
    - Dst: aug_error_message
      Src: /src/augeas/src/augtool.c:671,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:673,1
    - Dst: aug_load
      Src: /src/augeas/src/augtool.c:678,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:680,1
    - Dst: aug_error_message
      Src: /src/augeas/src/augtool.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ts
    - tslen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 658
    functionDepth: 8
    functionLinenumber: 658
    functionLinenumberEnd: 682
    functionName: add_transforms
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - fprintf
    - aug_load
    - free
    - argz_next
    - aug_srun
    - aug_error_message
    - _xasprintf
    linkageType: ''
    returnType: void
    signature: void add_transforms(char *ts, size_t tslen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: argz_next
      Src: /src/augeas/src/augtool.c:689,1
    - Dst: _xasprintf
      Src: /src/augeas/src/augtool.c:690,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:692,1
    - Dst: aug_srun
      Src: /src/augeas/src/augtool.c:694,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:696,1
    - Dst: aug_error_message
      Src: /src/augeas/src/augtool.c:696,1
    - Dst: free
      Src: /src/augeas/src/augtool.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ts
    - tslen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 700
    functionName: load_files
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - fprintf
    - free
    - argz_next
    - aug_srun
    - aug_error_message
    - _xasprintf
    linkageType: ''
    returnType: void
    signature: void load_files(char *ts, size_t tslen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/augeas/src/augtool.c:706,1
    - Dst: parse_opts
      Src: /src/augeas/src/augtool.c:708,1
    - Dst: printf
      Src: /src/augeas/src/augtool.c:711,1
    - Dst: fflush
      Src: /src/augeas/src/augtool.c:712,1
    - Dst: gettimeofday
      Src: /src/augeas/src/augtool.c:714,1
    - Dst: aug_init
      Src: /src/augeas/src/augtool.c:716,1
    - Dst: gettimeofday
      Src: /src/augeas/src/augtool.c:718,1
    - Dst: printf
      Src: /src/augeas/src/augtool.c:720,1
    - Dst: print_time_taken
      Src: /src/augeas/src/augtool.c:721,1
    - Dst: aug_error
      Src: /src/augeas/src/augtool.c:724,1
    - Dst: fprintf
      Src: /src/augeas/src/augtool.c:725,1
    - Dst: print_aug_error
      Src: /src/augeas/src/augtool.c:727,1
    - Dst: exit
      Src: /src/augeas/src/augtool.c:728,1
    - Dst: load_files
      Src: /src/augeas/src/augtool.c:730,1
    - Dst: add_transforms
      Src: /src/augeas/src/augtool.c:731,1
    - Dst: print_version_info
      Src: /src/augeas/src/augtool.c:733,1
    - Dst: readline_init
      Src: /src/augeas/src/augtool.c:736,1
    - Dst: run_args
      Src: /src/augeas/src/augtool.c:739,1
    - Dst: main_loop
      Src: /src/augeas/src/augtool.c:741,1
    - Dst: write_history
      Src: /src/augeas/src/augtool.c:744,1
    - Dst: aug_close
      Src: /src/augeas/src/augtool.c:746,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 702
    functionDepth: 9
    functionLinenumber: 702
    functionLinenumberEnd: 748
    functionName: main
    functionSourceFile: /src/augeas/src/augtool.c
    functionUses: 0
    functionsReached:
    - print_version_info
    - setlocale
    - run_args
    - main_loop
    - write_history
    - aug_init
    - gettimeofday
    - readline_init
    - fflush
    - print_time_taken
    - fprintf
    - exit
    - load_files
    - aug_close
    - aug_error
    - parse_opts
    - add_transforms
    - print_aug_error
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: MIN
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/internal.c:44,1
    - Dst: va_arg
      Src: /src/augeas/src/internal.c:46,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:49,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:52,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/internal.c:53,1
    - Dst: FREE
      Src: /src/augeas/src/internal.c:54,1
    - Dst: va_end
      Src: /src/augeas/src/internal.c:55,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:58,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:58,1
    - Dst: strcat
      Src: /src/augeas/src/internal.c:59,1
    - Dst: strcat
      Src: /src/augeas/src/internal.c:62,1
    - Dst: malloc
      Src: /src/augeas/src/internal.c:64,1
    - Dst: va_end
      Src: /src/augeas/src/internal.c:65,1
    - Dst: strcpy
      Src: /src/augeas/src/internal.c:68,1
    - Dst: va_end
      Src: /src/augeas/src/internal.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - path
    - nseg
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 73
    functionName: pathjoin
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 6
    functionsReached:
    - va_end
    - malloc
    - strcat
    - va_arg
    - va_start
    - FREE
    - strcpy
    - strlen
    - REALLOC_N
    linkageType: ''
    returnType: int
    signature: int pathjoin(char **path, int nseg, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/augeas/src/internal.c:101,1
    - Dst: MIN
      Src: /src/augeas/src/internal.c:111,1
    - Dst: fread
      Src: /src/augeas/src/internal.c:113,1
    - Dst: ferror
      Src: /src/augeas/src/internal.c:118,1
    - Dst: free
      Src: /src/augeas/src/internal.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - stream
    - max_len
    - length
    argTypes:
    - FILE*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 129
    functionName: fread_file_lim
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached:
    - realloc
    - MIN
    - ferror
    - fread
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      fread_file_lim (FILE *stream, size_t max_len, size_t *length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread_file_lim
      Src: /src/augeas/src/internal.c:138,1
    - Dst: free
      Src: /src/augeas/src/internal.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: xfread_file
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached:
    - fread_file_lim
    - free
    linkageType: ''
    returnType: char
    signature: char * xfread_file(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/augeas/src/internal.c:153,1
    - Dst: xfread_file
      Src: /src/augeas/src/internal.c:157,1
    - Dst: fclose
      Src: /src/augeas/src/internal.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: xread_file
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 3
    functionsReached:
    - fopen
    - xfread_file
    - fclose
    linkageType: ''
    returnType: char
    signature: char * xread_file(const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/internal.c:175,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:176,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:180,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:182,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/internal.c:187,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:191,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:194,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - s
    - len
    - extra
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 202
    functionName: unescape
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached:
    - ALLOC_N
    - strchr
    - strlen
    linkageType: ''
    returnType: char
    signature: char *unescape(const char *s, int len, const char *extra)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/internal.c:209,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:210,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:213,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:215,1
    - Dst: isprint
      Src: /src/augeas/src/internal.c:217,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/internal.c:222,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:227,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:230,1
    - Dst: isprint
      Src: /src/augeas/src/internal.c:233,1
    - Dst: sprintf
      Src: /src/augeas/src/internal.c:234,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - text
    - cnt
    - extra
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 241
    functionName: escape
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 4
    functionsReached:
    - ALLOC_N
    - isprint
    - strchr
    - strlen
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *escape(const char *text, int cnt, const char *extra)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/internal.c:248,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:252,1
    - Dst: escape
      Src: /src/augeas/src/internal.c:254,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:255,1
    - Dst: fprintf
      Src: /src/augeas/src/internal.c:257,1
    - Dst: free
      Src: /src/augeas/src/internal.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - out
    - text
    - cnt
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: print_chars
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached:
    - free
    - escape
    - strlen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int print_chars(FILE *out, const char *text, int cnt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: escape
      Src: /src/augeas/src/internal.c:272,1
    - Dst: escape
      Src: /src/augeas/src/internal.c:275,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:279,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:280,1
    - Dst: asprintf
      Src: /src/augeas/src/internal.c:282,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:284,1
    - Dst: asprintf
      Src: /src/augeas/src/internal.c:285,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:286,1
    - Dst: asprintf
      Src: /src/augeas/src/internal.c:287,1
    - Dst: asprintf
      Src: /src/augeas/src/internal.c:289,1
    - Dst: free
      Src: /src/augeas/src/internal.c:296,1
    - Dst: free
      Src: /src/augeas/src/internal.c:297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - text
    - pos
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 299
    functionName: format_pos
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached:
    - asprintf
    - escape
    - free
    - strlen
    linkageType: ''
    returnType: char
    signature: char *format_pos(const char *text, int pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format_pos
      Src: /src/augeas/src/internal.c:302,1
    - Dst: fputs
      Src: /src/augeas/src/internal.c:305,1
    - Dst: FREE
      Src: /src/augeas/src/internal.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - text
    - pos
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: print_pos
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached:
    - fputs
    - format_pos
    - FREE
    linkageType: ''
    returnType: void
    signature: void print_pos(FILE *out, const char *text, int pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/internal.c:311,1
    - Dst: open_memstream
      Src: /src/augeas/src/internal.c:313,1
    - Dst: tmpfile
      Src: /src/augeas/src/internal.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct memstream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: __aug_init_memstream
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached:
    - open_memstream
    - tmpfile
    - MEMZERO
    linkageType: ''
    returnType: int
    signature: int __aug_init_memstream(struct memstream *ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/augeas/src/internal.c:326,1
    - Dst: fread_file_lim
      Src: /src/augeas/src/internal.c:327,1
    - Dst: fclose
      Src: /src/augeas/src/internal.c:329,1
    - Dst: FREE
      Src: /src/augeas/src/internal.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct memstream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: __aug_close_memstream
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached:
    - fread_file_lim
    - rewind
    - FREE
    - fclose
    linkageType: ''
    returnType: int
    signature: int __aug_close_memstream(struct memstream *ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/internal.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 355
    functionName: tree_sibling_index
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached:
    - streqv
    linkageType: ''
    returnType: int
    signature: int tree_sibling_index(struct tree *tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streqv
      Src: /src/augeas/src/internal.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 30
    functionsReached:
    - streqv
    linkageType: ''
    returnType: void
    signature: void list_for_each(t, siblings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tree_sibling_index
      Src: /src/augeas/src/internal.c:363,1
    - Dst: pathx_escape_name
      Src: /src/augeas/src/internal.c:373,1
    - Dst: asprintf
      Src: /src/augeas/src/internal.c:381,1
    - Dst: asprintf
      Src: /src/augeas/src/internal.c:383,1
    - Dst: free
      Src: /src/augeas/src/internal.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - tree
    - ppath
    argTypes:
    - struct tree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 391
    functionName: path_expand
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 2
    functionsReached:
    - pathx_escape_name
    - tree_sibling_index
    - free
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *path_expand(struct tree *tree, const char *ppath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROOT_P
      Src: /src/augeas/src/internal.c:398,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/internal.c:399,1
    - Dst: path_expand
      Src: /src/augeas/src/internal.c:406,1
    - Dst: free
      Src: /src/augeas/src/internal.c:407,1
    - Dst: FREE
      Src: /src/augeas/src/internal.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: path_of_tree
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 9
    functionsReached:
    - ALLOC_N
    - ROOT_P
    - FREE
    - path_expand
    - free
    linkageType: ''
    returnType: char
    signature: char *path_of_tree(struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/internal.c:416,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:418,1
    - Dst: isspace
      Src: /src/augeas/src/internal.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - path
    - sep
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: cleanstr
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: char
    signature: char *cleanstr(char *path, const char sep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/internal.c:425,1
    - Dst: STREQ
      Src: /src/augeas/src/internal.c:427,1
    - Dst: cleanstr
      Src: /src/augeas/src/internal.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: cleanpath
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached:
    - cleanstr
    - STREQ
    - strlen
    linkageType: ''
    returnType: char
    signature: char *cleanpath(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/augeas/src/internal.c:436,1
    - Dst: strerror_r
      Src: /src/augeas/src/internal.c:438,1
    - Dst: snprintf
      Src: /src/augeas/src/internal.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - errnum
    - buf
    - len
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 446
    functionName: xstrerror
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strerror_r
    linkageType: ''
    returnType: char
    signature: char *xstrerror(int errnum, char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/internal.c:452,1
    - Dst: vasprintf
      Src: /src/augeas/src/internal.c:453,1
    - Dst: va_end
      Src: /src/augeas/src/internal.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - strp
    - format
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: xasprintf
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 11
    functionsReached:
    - va_end
    - va_start
    - vasprintf
    linkageType: ''
    returnType: int
    signature: int xasprintf(char **strp, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/augeas/src/internal.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - s
    - base
    - result
    argTypes:
    - char*
    - int
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: xstrtoint64
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached:
    - strtoll
    linkageType: ''
    returnType: int
    signature: int xstrtoint64(char const *s, int base, int64_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - text
    - pos
    - line
    - ofs
    argTypes:
    - char*
    - size_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: calc_line_ofs
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void calc_line_ofs(const char *text, size_t pos, size_t *line, size_t
      *ofs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - len
    argTypes:
    - ATTRIBUTE_UNUSED**
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: regexp_c_locale
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int regexp_c_locale(ATTRIBUTE_UNUSED char **u, ATTRIBUTE_UNUSED size_t
      *len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/internal.c:500,1
    - Dst: fa_expand_char_ranges
      Src: /src/augeas/src/internal.c:504,1
    - Dst: free
      Src: /src/augeas/src/internal.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - u
    - len
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 516
    functionName: regexp_c_locale
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 1
    functionsReached:
    - free
    - fa_expand_char_ranges
    - strlen
    linkageType: ''
    returnType: int
    signature: int regexp_c_locale(char **u, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/src/internal.c:521,1
    - Dst: STREQLEN
      Src: /src/augeas/src/internal.c:528,1
    - Dst: strlen
      Src: /src/augeas/src/internal.c:528,1
    - Dst: strchr
      Src: /src/augeas/src/internal.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - category
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 535
    functionName: debugging
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 9
    functionsReached:
    - getenv
    - strchr
    - strlen
    - STREQLEN
    linkageType: ''
    returnType: bool
    signature: bool debugging(const char *category)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/src/internal.c:544,1
    - Dst: va_start
      Src: /src/augeas/src/internal.c:548,1
    - Dst: vasprintf
      Src: /src/augeas/src/internal.c:549,1
    - Dst: va_end
      Src: /src/augeas/src/internal.c:550,1
    - Dst: xasprintf
      Src: /src/augeas/src/internal.c:554,1
    - Dst: fopen
      Src: /src/augeas/src/internal.c:558,1
    - Dst: free
      Src: /src/augeas/src/internal.c:561,1
    - Dst: free
      Src: /src/augeas/src/internal.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 564
    functionName: debug_fopen
    functionSourceFile: /src/augeas/src/internal.c
    functionUses: 2
    functionsReached:
    - va_end
    - xasprintf
    - va_start
    - fopen
    - free
    - getenv
    - vasprintf
    linkageType: ''
    returnType: FILE
    signature: FILE *debug_fopen(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: EXN
    functionSourceFile: /src/augeas/src/syntax.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 14
    argNames:
    - (
    - error
    - ','
    - module
    - ','
    - name
    - ','
    - argc
    - ','
    - impl
    - ','
    - types
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: define_native
    functionSourceFile: /src/augeas/src/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: define_native(error, module, name, argc, impl, types ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: make_ref
    functionSourceFile: /src/augeas/src/ref.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_ref(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: make_ref_err
    functionSourceFile: /src/augeas/src/ref.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_ref_err(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ref
    functionSourceFile: /src/augeas/src/ref.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ref(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: unref
    functionSourceFile: /src/augeas/src/ref.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unref(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: ref_pin
    functionSourceFile: /src/augeas/src/ref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ref_pin(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/info.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: make_string
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 2
    functionsReached:
    - make_ref
    linkageType: ''
    returnType: struct string
    signature: struct string *make_string(char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/info.c:44,1
    - Dst: strdup
      Src: /src/augeas/src/info.c:46,1
    - Dst: strdup
      Src: /src/augeas/src/info.c:48,1
    - Dst: unref
      Src: /src/augeas/src/info.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: dup_string
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 1
    functionsReached:
    - unref
    - strdup
    - make_ref
    linkageType: ''
    returnType: struct string
    signature: struct string *dup_string(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/info.c:57,1
    - Dst: free
      Src: /src/augeas/src/info.c:58,1
    - Dst: free
      Src: /src/augeas/src/info.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - struct string*
    assertStmts:
    - condition: (string->ref == 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/augeas/src/info.c
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: free_string
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void free_string(struct string *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/info.c:71,1
    - Dst: xasprintf
      Src: /src/augeas/src/info.c:81,1
    - Dst: xasprintf
      Src: /src/augeas/src/info.c:83,1
    - Dst: xasprintf
      Src: /src/augeas/src/info.c:86,1
    - Dst: xasprintf
      Src: /src/augeas/src/info.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: format_info
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 3
    functionsReached:
    - xasprintf
    - strdup
    linkageType: ''
    returnType: char
    signature: char *format_info(struct info *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/info.c:96,1
    - Dst: fprintf
      Src: /src/augeas/src/info.c:99,1
    - Dst: fprintf
      Src: /src/augeas/src/info.c:104,1
    - Dst: fprintf
      Src: /src/augeas/src/info.c:106,1
    - Dst: fprintf
      Src: /src/augeas/src/info.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - out
    - info
    argTypes:
    - FILE*
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: print_info
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_info(FILE *out, struct info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: typecheck_p
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool typecheck_p(const struct info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/info.c:124,1
    - Dst: unref
      Src: /src/augeas/src/info.c:125,1
    - Dst: free
      Src: /src/augeas/src/info.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct info*
    assertStmts:
    - condition: (info->ref == 0)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/augeas/src/info.c
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: free_info
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_info(struct info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/info.c:131,1
    - Dst: ref
      Src: /src/augeas/src/info.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: make_span
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 4
    functionsReached:
    - ref
    - ALLOC
    linkageType: ''
    returnType: struct span
    signature: struct span *make_span(struct info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unref
      Src: /src/augeas/src/info.c:143,1
    - Dst: free
      Src: /src/augeas/src/info.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - span
    argTypes:
    - struct span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: free_span
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 2
    functionsReached:
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_span(struct span *span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/info.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - span
    argTypes:
    - struct span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: print_span
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_span(struct span *span)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - node_info
    - x
    - y
    argTypes:
    - struct span*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: update_span
    functionSourceFile: /src/augeas/src/info.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_span(struct span *node_info, int x, int y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/errcode.c:34,1
    - Dst: vasprintf
      Src: /src/augeas/src/errcode.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - err
    - errcode
    - format
    - ap
    argTypes:
    - struct error*
    - aug_errcode_t
    - char*
    - va_list
    assertStmts:
    - condition: (err->details == NULL)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/augeas/src/errcode.c
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: vreport_error
    functionSourceFile: /src/augeas/src/errcode.c
    functionUses: 0
    functionsReached:
    - assert
    - vasprintf
    linkageType: ''
    returnType: void
    signature: "void vreport_error(struct error *err, aug_errcode_t errcode,\n                   const
      char *format, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/errcode.c:47,1
    - Dst: vreport_error
      Src: /src/augeas/src/errcode.c:48,1
    - Dst: va_end
      Src: /src/augeas/src/errcode.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - errcode
    - format
    argTypes:
    - struct error*
    - aug_errcode_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: report_error
    functionSourceFile: /src/augeas/src/errcode.c
    functionUses: 3
    functionsReached:
    - vreport_error
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void report_error(struct error *err, aug_errcode_t errcode,\n                  const
      char *format, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/errcode.c:61,1
    - Dst: vreport_error
      Src: /src/augeas/src/errcode.c:62,1
    - Dst: va_end
      Src: /src/augeas/src/errcode.c:63,1
    - Dst: xasprintf
      Src: /src/augeas/src/errcode.c:66,1
    - Dst: xasprintf
      Src: /src/augeas/src/errcode.c:68,1
    - Dst: free
      Src: /src/augeas/src/errcode.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - err
    - srcfile
    - srclineno
    - format
    argTypes:
    - struct error*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: bug_on
    functionSourceFile: /src/augeas/src/errcode.c
    functionUses: 0
    functionsReached:
    - va_end
    - vreport_error
    - xasprintf
    - va_start
    - free
    linkageType: ''
    returnType: void
    signature: "void bug_on(struct error *err, const char *srcfile, int srclineno,\n
      \           const char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/augeas/src/errcode.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - struct error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: reset_error
    functionSourceFile: /src/augeas/src/errcode.c
    functionUses: 3
    functionsReached:
    - FREE
    linkageType: ''
    returnType: void
    signature: void reset_error(struct error *err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: expensive_assert
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expensive_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: compute_bits
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compute_bits(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - hash_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: is_power_of_two
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_power_of_two(hash_val_t arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:123,1
    - Dst: is_power_of_two
      Src: /src/augeas/src/hash.c:123,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - hashcount_t
    assertStmts:
    - condition: (is_power_of_two(size))
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/augeas/src/hash.c
    - condition: (size >= 2)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: compute_mask
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - assert
    - is_power_of_two
    linkageType: ''
    returnType: hash_val_t
    signature: hash_val_t compute_mask(hashcount_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: clear_table
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_table(hash_t *hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:173,1
    - Dst: realloc
      Src: /src/augeas/src/hash.c:175,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:183,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:210,1
    - Dst: hash_verify
      Src: /src/augeas/src/hash.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts:
    - condition: (2 * hash->nchains > hash->nchains)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/augeas/src/hash.c
    - condition: (mask != hash->mask)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 211
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 211
    functionName: grow_table
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - realloc
    - hash_verify
    - expensive_assert
    - assert
    linkageType: ''
    returnType: void
    signature: void grow_table(hash_t *hash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:248,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:261,1
    - Dst: realloc
      Src: /src/augeas/src/hash.c:263,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:271,1
    - Dst: hash_verify
      Src: /src/augeas/src/hash.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts:
    - condition: (hash->nchains >= 2)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/augeas/src/hash.c
    - condition: (hash->table[chain] == NULL)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 272
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 272
    functionName: shrink_table
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - realloc
    - hash_verify
    - expensive_assert
    - assert
    linkageType: ''
    returnType: void
    signature: void shrink_table(hash_t *hash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compute_bits
      Src: /src/augeas/src/hash.c:310,1
    - Dst: malloc
      Src: /src/augeas/src/hash.c:312,1
    - Dst: malloc
      Src: /src/augeas/src/hash.c:315,1
    - Dst: clear_table
      Src: /src/augeas/src/hash.c:329,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:330,1
    - Dst: hash_verify
      Src: /src/augeas/src/hash.c:330,1
    - Dst: free
      Src: /src/augeas/src/hash.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - maxcount
    - compfun
    - hashfun
    argTypes:
    - hashcount_t
    - hash_comp_t
    - hash_fun_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 337
    functionName: hash_create
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - clear_table
    - expensive_assert
    - hash_verify
    - compute_bits
    - malloc
    - free
    linkageType: ''
    returnType: hash_t
    signature: "hash_t *hash_create(hashcount_t maxcount, hash_comp_t compfun,\n\thash_fun_t
      hashfun)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:346,1
    - Dst: hash_count
      Src: /src/augeas/src/hash.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - hash
    - al
    - fr
    - context
    argTypes:
    - hash_t*
    - hnode_alloc_t
    - hnode_free_t
    - void*
    assertStmts:
    - condition: (hash_count(hash) == 0)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: hash_set_allocator
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - assert
    - hash_count
    linkageType: ''
    returnType: void
    signature: "void hash_set_allocator(hash_t *hash, hnode_alloc_t al,\n\thnode_free_t
      fr, void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_t*::freenode
      Src: /src/augeas/src/hash.c:367,1
    - Dst: clear_table
      Src: /src/augeas/src/hash.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 374
    functionName: hash_free_nodes
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - clear_table
    - hash_t*::freenode
    linkageType: ''
    returnType: void
    signature: void hash_free_nodes(hash_t *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:384,1
    - Dst: hash_free_nodes
      Src: /src/augeas/src/hash.c:386,1
    - Dst: hash_destroy
      Src: /src/augeas/src/hash.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts:
    - condition: ("call to obsolescent function hash_free()" && 0)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: hash_free
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - hash_destroy
    - assert
    - hash_free_nodes
    linkageType: ''
    returnType: void
    signature: void hash_free(hash_t *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:396,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:397,1
    - Dst: hash_isempty
      Src: /src/augeas/src/hash.c:397,1
    - Dst: free
      Src: /src/augeas/src/hash.c:398,1
    - Dst: free
      Src: /src/augeas/src/hash.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts:
    - condition: (hash_val_t_bit != 0)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/augeas/src/hash.c
    - condition: (hash_isempty(hash))
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: hash_destroy
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 1
    functionsReached:
    - assert
    - free
    - hash_isempty
    linkageType: ''
    returnType: void
    signature: void hash_destroy(hash_t *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compute_bits
      Src: /src/augeas/src/hash.c:420,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:422,1
    - Dst: is_power_of_two
      Src: /src/augeas/src/hash.c:422,1
    - Dst: compute_mask
      Src: /src/augeas/src/hash.c:431,1
    - Dst: clear_table
      Src: /src/augeas/src/hash.c:432,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:434,1
    - Dst: hash_verify
      Src: /src/augeas/src/hash.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - hash
    - maxcount
    - compfun
    - hashfun
    - table
    - nchains
    argTypes:
    - hash_t*
    - hashcount_t
    - hash_comp_t
    - hash_fun_t
    - hnode_t**
    - hashcount_t
    assertStmts:
    - condition: (is_power_of_two(nchains))
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 436
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 436
    functionName: hash_init
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - clear_table
    - expensive_assert
    - hash_verify
    - compute_mask
    - is_power_of_two
    - compute_bits
    - assert
    linkageType: ''
    returnType: hash_t
    signature: "hash_t *hash_init(hash_t *hash, hashcount_t maxcount,\n\thash_comp_t
      compfun, hash_fun_t hashfun, hnode_t **table,\n\thashcount_t nchains)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - scan
    - hash
    argTypes:
    - hscan_t*
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 467
    functionName: hash_scan_begin
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_scan_begin(hscan_t *scan, hash_t *hash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - scan
    argTypes:
    - hscan_t*
    assertStmts:
    - condition: (hash_val_t_bit != 0)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 519
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 519
    functionName: hash_scan_next
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: hnode_t
    signature: hnode_t *hash_scan_next(hscan_t *scan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/hash.c:538,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:539,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:540,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:541,1
    - Dst: hash_lookup
      Src: /src/augeas/src/hash.c:541,1
    - Dst: grow_table
      Src: /src/augeas/src/hash.c:544,1
    - Dst: hash_t*::function
      Src: /src/augeas/src/hash.c:546,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:555,1
    - Dst: hash_verify
      Src: /src/augeas/src/hash.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - hash
    - node
    - key
    argTypes:
    - hash_t*
    - hnode_t*
    - void*
    assertStmts:
    - condition: (hash_val_t_bit != 0)
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/augeas/src/hash.c
    - condition: (node->next == NULL)
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/augeas/src/hash.c
    - condition: (hash->nodecount < hash->maxcount)
      pos:
        line_end: 539
        line_start: 539
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 556
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 556
    functionName: hash_insert
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - expensive_assert
    - hash_verify
    - hash_lookup
    - grow_table
    - hash_t*::function
    - assert
    linkageType: ''
    returnType: void
    signature: void hash_insert(hash_t *hash, hnode_t *node, const void *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_t*::function
      Src: /src/augeas/src/hash.c:577,1
    - Dst: hash_t*::compare
      Src: /src/augeas/src/hash.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hash
    - key
    argTypes:
    - hash_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 586
    functionName: hash_lookup
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 1
    functionsReached:
    - hash_t*::compare
    - hash_t*::function
    linkageType: ''
    returnType: hnode_t
    signature: hnode_t *hash_lookup(hash_t *hash, const void *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:611,1
    - Dst: hash_lookup
      Src: /src/augeas/src/hash.c:611,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:612,1
    - Dst: shrink_table
      Src: /src/augeas/src/hash.c:616,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:625,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:628,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:633,1
    - Dst: hash_verify
      Src: /src/augeas/src/hash.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - hash
    - node
    argTypes:
    - hash_t*
    - hnode_t*
    assertStmts:
    - condition: (hptr != 0)
      pos:
        line_end: 624
        line_start: 624
        source_file: /src/augeas/src/hash.c
    - condition: (hash_val_t_bit != 0)
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/augeas/src/hash.c
    - condition: (hptr->next == node)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 637
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 637
    functionName: hash_delete
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - expensive_assert
    - hash_verify
    - shrink_table
    - hash_lookup
    - assert
    linkageType: ''
    returnType: hnode_t
    signature: hnode_t *hash_delete(hash_t *hash, hnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_t*::allocnode
      Src: /src/augeas/src/hash.c:641,1
    - Dst: hnode_init
      Src: /src/augeas/src/hash.c:644,1
    - Dst: hash_insert
      Src: /src/augeas/src/hash.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - key
    - data
    argTypes:
    - hash_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 649
    functionName: hash_alloc_insert
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - hash_t*::allocnode
    - hash_insert
    - hnode_init
    linkageType: ''
    returnType: int
    signature: int hash_alloc_insert(hash_t *hash, const void *key, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_delete
      Src: /src/augeas/src/hash.c:653,1
    - Dst: hash_t*::freenode
      Src: /src/augeas/src/hash.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hash
    - node
    argTypes:
    - hash_t*
    - hnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: hash_delete_free
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - hash_delete
    - hash_t*::freenode
    linkageType: ''
    returnType: void
    signature: void hash_delete_free(hash_t *hash, hnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:667,1
    - Dst: hash_lookup
      Src: /src/augeas/src/hash.c:667,1
    - Dst: assert
      Src: /src/augeas/src/hash.c:668,1
    - Dst: expensive_assert
      Src: /src/augeas/src/hash.c:682,1
    - Dst: hash_verify
      Src: /src/augeas/src/hash.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - hash
    - node
    argTypes:
    - hash_t*
    - hnode_t*
    assertStmts:
    - condition: (hash_val_t_bit != 0)
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/augeas/src/hash.c
    constantsTouched: []
    func_position:
      end: 686
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 686
    functionName: hash_scan_delete
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - hash_lookup
    - expensive_assert
    - assert
    - hash_verify
    linkageType: ''
    returnType: hnode_t
    signature: hnode_t *hash_scan_delete(hash_t *hash, hnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_scan_delete
      Src: /src/augeas/src/hash.c:694,1
    - Dst: hash_t*::freenode
      Src: /src/augeas/src/hash.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hash
    - node
    argTypes:
    - hash_t*
    - hnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: hash_scan_delfree
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - hash_scan_delete
    - hash_t*::freenode
    linkageType: ''
    returnType: void
    signature: void hash_scan_delfree(hash_t *hash, hnode_t *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_power_of_two
      Src: /src/augeas/src/hash.c:716,1
    - Dst: is_power_of_two
      Src: /src/augeas/src/hash.c:718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 734
    functionName: hash_verify
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 7
    functionsReached:
    - is_power_of_two
    linkageType: ''
    returnType: int
    signature: int hash_verify(hash_t *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: hash_isfull
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hash_isfull(hash_t *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: hash_isempty
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hash_isempty(hash_t *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/hash.c:760,1
    - Dst: hnode_alloc
      Src: /src/augeas/src/hash.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: hnode_alloc
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 1
    functionsReached:
    - malloc
    - hnode_alloc
    linkageType: ''
    returnType: hnode_t
    signature: hnode_t *hnode_alloc(ATTRIBUTE_UNUSED void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/hash.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - context
    argTypes:
    - hnode_t*
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: hnode_free
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hnode_free(hnode_t *node, ATTRIBUTE_UNUSED void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/hash.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: hnode_create
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: hnode_t
    signature: hnode_t *hnode_create(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hnode
    - data
    argTypes:
    - hnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 792
    functionName: hnode_init
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: hnode_t
    signature: hnode_t *hnode_init(hnode_t *hnode, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/hash.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hnode
    argTypes:
    - hnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: hnode_destroy
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hnode_destroy(hnode_t *hnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - hnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: hnode_put
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hnode_put(hnode_t *node, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - hnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: hnode_get
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *hnode_get(hnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - hnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: hnode_getkey
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *hnode_getkey(hnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 825
    functionName: hash_count
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: hashcount_t
    signature: hashcount_t hash_count(hash_t *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: hash_size
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hashcount_t
    signature: hashcount_t hash_size(hash_t *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 854
    functionName: hash_fun_default
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hash_val_t
    signature: hash_val_t hash_fun_default(const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/augeas/src/hash.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: hash_comp_default
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int hash_comp_default(const void *key1, const void *key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/hash.c:875,1
    - Dst: va_arg
      Src: /src/augeas/src/hash.c:876,1
    - Dst: isspace
      Src: /src/augeas/src/hash.c:878,1
    - Dst: isspace
      Src: /src/augeas/src/hash.c:883,1
    - Dst: va_arg
      Src: /src/augeas/src/hash.c:885,1
    - Dst: va_end
      Src: /src/augeas/src/hash.c:891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 894
    functionName: tokenize
    functionSourceFile: /src/augeas/src/hash.c
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    - isspace
    linkageType: ''
    returnType: int
    signature: int tokenize(char *string, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: E
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: F
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: bitset_init
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    linkageType: ''
    returnType: bitset
    signature: bitset *bitset_init(size_t nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - bit
    argTypes:
    - bitset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: bitset_clr
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitset_clr(bitset *bs, unsigned int bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - bit
    argTypes:
    - bitset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: bitset_set
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitset_set(bitset *bs, unsigned int bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - bit
    argTypes:
    - bitset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: bitset_get
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE bitset_get(const bitset * const bs, unsigned int bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bs1
    - bs2
    - nbits
    argTypes:
    - bitset*
    - bitset*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: bitset_disjoint
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: "ATTRIBUTE_PURE bitset_disjoint(const bitset *const bs1,\n                                   const
      bitset *const bs2,\n                                   size_t nbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/fa.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - bitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: bitset_free
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bitset_free(bitset *bs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bs
    - nbits
    argTypes:
    - bitset*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: bitset_negate
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitset_negate(bitset *bs, size_t nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: re_unref
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: re_unref(r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/src/fa.c:281,1
    - Dst: asprintf
      Src: /src/augeas/src/fa.c:284,1
    - Dst: fopen
      Src: /src/augeas/src/fa.c:288,1
    - Dst: free
      Src: /src/augeas/src/fa.c:290,1
    - Dst: fa_dot
      Src: /src/augeas/src/fa.c:294,1
    - Dst: fclose
      Src: /src/augeas/src/fa.c:295,1
    - Dst: free
      Src: /src/augeas/src/fa.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - fa
    - tag
    argTypes:
    - struct fa*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 297
    functionName: fa_dot_debug
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - fa_dot
    - fopen
    - fclose
    - asprintf
    - getenv
    - free
    linkageType: ''
    returnType: ATTRIBUTE_UNUSED
    signature: ATTRIBUTE_UNUSED fa_dot_debug(struct fa *fa, const char *tag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/fa.c:303,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:305,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:307,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:312,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:315,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:317,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: print_char_set
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - printf
    - bitset_get
    linkageType: ''
    returnType: void
    signature: void print_char_set(struct re *set)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: print_re
      Src: /src/augeas/src/fa.c:327,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:328,1
    - Dst: print_re
      Src: /src/augeas/src/fa.c:329,1
    - Dst: print_re
      Src: /src/augeas/src/fa.c:332,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:333,1
    - Dst: print_re
      Src: /src/augeas/src/fa.c:334,1
    - Dst: print_char_set
      Src: /src/augeas/src/fa.c:337,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:340,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:343,1
    - Dst: print_re
      Src: /src/augeas/src/fa.c:344,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:345,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:348,1
    - Dst: printf
      Src: /src/augeas/src/fa.c:351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 354
    functionName: print_re
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - print_char_set
    - printf
    - print_re
    linkageType: ''
    returnType: ATTRIBUTE_UNUSED
    signature: ATTRIBUTE_UNUSED print_re(struct re *re)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/augeas/src/fa.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct re_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: release_re_str
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - FREE
    linkageType: ''
    returnType: void
    signature: void release_re_str(struct re_str *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:369,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct re_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: free_re_str
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - FREE
    - release_re_str
    linkageType: ''
    returnType: void
    signature: void free_re_str(struct re_str *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/fa.c:376,1
    - Dst: strdup
      Src: /src/augeas/src/fa.c:379,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:380,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 387
    functionName: make_re_str
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - strlen
    - FREE
    - strdup
    - ALLOC
    linkageType: ''
    returnType: struct re_str
    signature: struct re_str *make_re_str(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct re_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: re_str_alloc
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    linkageType: ''
    returnType: int
    signature: int re_str_alloc(struct re_str *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/fa.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: free_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_trans(struct state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:404,1
    - Dst: free_trans
      Src: /src/augeas/src/fa.c:405,1
    - Dst: list_free
      Src: /src/augeas/src/fa.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: gut
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free_trans
    - list_for_each
    - list_free
    linkageType: ''
    returnType: void
    signature: void gut(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gut
      Src: /src/augeas/src/fa.c:414,1
    - Dst: free
      Src: /src/augeas/src/fa.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: fa_free
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 10
    functionsReached:
    - gut
    - free
    linkageType: ''
    returnType: void
    signature: void fa_free(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/fa.c:420,1
    - Dst: ptr_hash
      Src: /src/augeas/src/fa.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: make_state
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 8
    functionsReached:
    - ALLOC
    - ptr_hash
    linkageType: ''
    returnType: struct state
    signature: struct state *make_state(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_state
      Src: /src/augeas/src/fa.c:427,1
    - Dst: list_cons
      Src: /src/augeas/src/fa.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fa
    - accept
    argTypes:
    - struct fa*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: add_state
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - list_cons
    - make_state
    linkageType: ''
    returnType: struct state
    signature: struct state *add_state(struct fa *fa, int accept)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: last_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: last_trans(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_trans(t, s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/fa.c:449,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - from
    - to
    - min
    - max
    argTypes:
    - struct state*
    - struct state*
    - uchar
    - uchar
    assertStmts:
    - condition: (to != NULL)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 468
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 468
    functionName: add_new_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 6
    functionsReached:
    - REALLOC_N
    - assert
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: "ATTRIBUTE_RETURN_CHECK add_new_trans(struct state *from, struct state
      *to,\n                         uchar min, uchar max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - struct state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 481
    functionName: add_epsilon_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_new_trans
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: "ATTRIBUTE_RETURN_CHECK add_epsilon_trans(struct state *from,\n                             struct
      state *to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached:
    - add_new_trans
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_remove
      Src: /src/augeas/src/fa.c:484,1
    - Dst: list_cons
      Src: /src/augeas/src/fa.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fa
    - s
    argTypes:
    - struct fa*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: set_initial
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - list_remove
    - list_cons
    linkageType: ''
    returnType: void
    signature: void set_initial(struct fa *fa, struct state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_append
      Src: /src/augeas/src/fa.c:492,1
    - Dst: free
      Src: /src/augeas/src/fa.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: fa_merge
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - list_append
    - free
    linkageType: ''
    returnType: void
    signature: void fa_merge(struct fa *fa1, struct fa **fa2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/fa.c:503,1
    - Dst: free
      Src: /src/augeas/src/fa.c:504,1
    - Dst: free
      Src: /src/augeas/src/fa.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: state_set_free
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void state_set_free(struct state_set *set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 514
    functionName: state_set_init_data
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    linkageType: ''
    returnType: int
    signature: int state_set_init_data(struct state_set *set)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:529,1
    - Dst: ALLOC
      Src: /src/augeas/src/fa.c:529,1
    - Dst: F
      Src: /src/augeas/src/fa.c:535,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:535,1
    - Dst: F
      Src: /src/augeas/src/fa.c:537,1
    - Dst: state_set_init_data
      Src: /src/augeas/src/fa.c:537,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 543
    functionName: state_set_init
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - F
    - state_set_init_data
    - state_set_free
    - ALLOC
    linkageType: ''
    returnType: struct state_set
    signature: struct state_set *state_set_init(int size, int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:553,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:556,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:561,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 564
    functionName: state_set_expand
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - FREE
    - REALLOC_N
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK state_set_expand(struct state_set *set)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct state_set*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: state_set_pos
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int state_set_pos(const struct state_set *set, const struct state *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: state_set_expand
      Src: /src/augeas/src/fa.c:588,1
    - Dst: state_set_pos
      Src: /src/augeas/src/fa.c:591,1
    - Dst: state_set_expand
      Src: /src/augeas/src/fa.c:593,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:598,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct state_set*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: state_set_push
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_pos
    - memmove
    - state_set_expand
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK state_set_push(struct state_set *set, struct
      state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - set
    - s
    - d
    argTypes:
    - struct state_set*
    - struct state*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 621
    functionName: state_set_push_data
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_push
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: "ATTRIBUTE_RETURN_CHECK state_set_push_data(struct state_set *set,
      struct state *s,\n                               void *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: state_set_pos
      Src: /src/augeas/src/fa.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct state_set*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 635
    functionName: state_set_index
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_pos
    linkageType: ''
    returnType: int
    signature: "int state_set_index(const struct state_set *set,\n                           const
      struct state *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:640,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:642,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:645,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct state_set*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 653
    functionName: state_set_remove
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_index
    - memmove
    linkageType: ''
    returnType: void
    signature: "void state_set_remove(struct state_set *set,\n                             const
      struct state *s)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: state_set_pos
      Src: /src/augeas/src/fa.c:660,1
    - Dst: state_set_expand
      Src: /src/augeas/src/fa.c:664,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:669,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:672,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:678,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:680,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:686,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:687,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct state_set*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 689
    functionName: state_set_add
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_index
    - FREE
    - state_set_push
    - state_set_expand
    - state_set_pos
    - memmove
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK state_set_add(struct state_set *set, struct
      state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 696
    functionName: state_set_pop
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct state
    signature: struct state *state_set_pop(struct state_set *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state_set_pop
      Src: /src/augeas/src/fa.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - set
    - d
    argTypes:
    - struct state_set*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 703
    functionName: state_set_pop_data
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_pop
    linkageType: ''
    returnType: struct state
    signature: struct state *state_set_pop_data(struct state_set *set, void **d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct state_set*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: state_set_find_data
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_index
    linkageType: ''
    returnType: void
    signature: void *state_set_find_data(struct state_set *set, struct state *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - struct state_set*
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 728
    functionName: state_set_equal
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_index
    linkageType: ''
    returnType: int
    signature: "int state_set_equal(const struct state_set *set1,\n                           const
      struct state_set *set2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 744
    functionName: state_set_compact
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void state_set_compact(struct state_set *set)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:754,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - set
    - fst
    - snd
    argTypes:
    - struct state_set**
    - struct state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 763
    functionName: state_pair_push
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_push
    - state_set_init
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: "ATTRIBUTE_RETURN_CHECK state_pair_push(struct state_set **set,\n                           struct
      state *fst, struct state *snd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - set
    - fst
    - snd
    argTypes:
    - struct state_set*
    - struct state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 774
    functionName: state_pair_find
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int state_pair_find(struct state_set *set, struct state *fst,\n                           struct
      state *snd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 789
    functionName: ptr_hash
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: hash_val_t
    signature: hash_val_t ptr_hash(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: pair_hash
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hash_val_t
    signature: hash_val_t pair_hash(const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/augeas/src/fa.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 800
    functionName: pair_cmp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int pair_cmp(const void *key1, const void *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/fa.c:803,1
    - Dst: hnode_getkey
      Src: /src/augeas/src/fa.c:803,1
    - Dst: free
      Src: /src/augeas/src/fa.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - hnode_t*
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: state_triple_node_free
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hnode_getkey
    - free
    linkageType: ''
    returnType: void
    signature: void state_triple_node_free(hnode_t *node, ATTRIBUTE_UNUSED void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_create
      Src: /src/augeas/src/fa.c:810,1
    - Dst: hash_set_allocator
      Src: /src/augeas/src/fa.c:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 815
    functionName: state_triple_init
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hash_set_allocator
    - hash_create
    linkageType: ''
    returnType: state_triple_hash
    signature: state_triple_hash *state_triple_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:823,1
    - Dst: hash_alloc_insert
      Src: /src/augeas/src/fa.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hash
    - s1
    - s2
    - s3
    argTypes:
    - state_triple_hash*
    - struct state*
    - struct state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 817
    functionDepth: 4
    functionLinenumber: 817
    functionLinenumberEnd: 828
    functionName: state_triple_push
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hash_alloc_insert
    - ALLOC_N
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: "ATTRIBUTE_RETURN_CHECK state_triple_push(state_triple_hash *hash,\n
      \                            struct state *s1,\n                             struct
      state *s2,\n                             struct state *s3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_lookup
      Src: /src/augeas/src/fa.c:837,1
    - Dst: hnode_get
      Src: /src/augeas/src/fa.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - hash
    - s1
    - s2
    argTypes:
    - state_triple_hash*
    - struct state*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 839
    functionName: state_triple_thd
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hnode_get
    - hash_lookup
    linkageType: ''
    returnType: struct state
    signature: "struct state * state_triple_thd(state_triple_hash *hash,\n                                       struct
      state *s1,\n                                       struct state *s2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_free_nodes
      Src: /src/augeas/src/fa.c:843,1
    - Dst: hash_destroy
      Src: /src/augeas/src/fa.c:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hash
    argTypes:
    - state_triple_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 846
    functionName: state_triple_free
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hash_destroy
    - hash_free_nodes
    linkageType: ''
    returnType: void
    signature: void state_triple_free(state_triple_hash *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:853,1
    - Dst: E
      Src: /src/augeas/src/fa.c:856,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:858,1
    - Dst: state_set_pop
      Src: /src/augeas/src/fa.c:865,1
    - Dst: F
      Src: /src/augeas/src/fa.c:869,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:869,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 878
    functionName: mark_reachable
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_init
    - F
    - E
    - state_set_push
    - state_set_pop
    - list_for_each
    - state_set_free
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK mark_reachable(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:869,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached:
    - state_set_push
    - F
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:884,1
    - Dst: mark_reachable
      Src: /src/augeas/src/fa.c:887,1
    - Dst: E
      Src: /src/augeas/src/fa.c:888,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:890,1
    - Dst: F
      Src: /src/augeas/src/fa.c:892,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:892,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 4
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: fa_states
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_init
    - F
    - E
    - mark_reachable
    - state_set_push
    - list_for_each
    - state_set_free
    linkageType: ''
    returnType: struct state_set
    signature: struct state_set *fa_states(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:904,1
    - Dst: E
      Src: /src/augeas/src/fa.c:907,1
    - Dst: mark_reachable
      Src: /src/augeas/src/fa.c:909,1
    - Dst: E
      Src: /src/augeas/src/fa.c:910,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:912,1
    - Dst: F
      Src: /src/augeas/src/fa.c:914,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:914,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 903
    functionDepth: 4
    functionLinenumber: 903
    functionLinenumberEnd: 920
    functionName: fa_accept_states
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_init
    - F
    - E
    - mark_reachable
    - state_set_push
    - list_for_each
    - state_set_free
    linkageType: ''
    returnType: struct state_set
    signature: struct state_set *fa_accept_states(struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:930,1
    - Dst: mark_reachable
      Src: /src/augeas/src/fa.c:930,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:932,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 926
    functionDepth: 4
    functionLinenumber: 926
    functionLinenumberEnd: 953
    functionName: mark_live
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - mark_reachable
    - list_for_each
    - F
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK mark_live(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 946
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fa_states
      Src: /src/augeas/src/fa.c:967,1
    - Dst: E
      Src: /src/augeas/src/fa.c:968,1
    - Dst: fa_accept_states
      Src: /src/augeas/src/fa.c:969,1
    - Dst: E
      Src: /src/augeas/src/fa.c:970,1
    - Dst: F
      Src: /src/augeas/src/fa.c:972,1
    - Dst: state_set_init_data
      Src: /src/augeas/src/fa.c:972,1
    - Dst: F
      Src: /src/augeas/src/fa.c:976,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:976,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:989,1
    - Dst: free
      Src: /src/augeas/src/fa.c:993,1
    - Dst: free
      Src: /src/augeas/src/fa.c:995,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:998,1
    - Dst: E
      Src: /src/augeas/src/fa.c:999,1
    - Dst: set_initial
      Src: /src/augeas/src/fa.c:1002,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:1004,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1011,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1014,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 962
    functionDepth: 5
    functionLinenumber: 962
    functionLinenumberEnd: 1017
    functionName: fa_reverse
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_epsilon_trans
    - ALLOC_N
    - F
    - fa_states
    - E
    - add_state
    - set_initial
    - add_new_trans
    - state_set_init_data
    - state_set_free
    - fa_accept_states
    - free
    linkageType: ''
    returnType: struct state_set
    signature: struct state_set *fa_reverse(struct fa *fa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:1027,1
    - Dst: mark_reachable
      Src: /src/augeas/src/fa.c:1027,1
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:1028,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:1029,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1043,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1043,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1051,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - fa
    - npoints
    argTypes:
    - struct fa*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 4
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: start_points
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - F
    - MEMZERO
    - mark_reachable
    - list_for_each
    - free
    linkageType: ''
    returnType: uchar
    signature: uchar * start_points(struct fa *fa, int *npoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1037
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_lookup
      Src: /src/augeas/src/fa.c:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - smap
    - set
    argTypes:
    - state_set_hash*
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: state_set_hash_contains
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hash_lookup
    linkageType: ''
    returnType: int
    signature: "int state_set_hash_contains(state_set_hash *smap,\n                               struct
      state_set *set)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_lookup
      Src: /src/augeas/src/fa.c:1070,1
    - Dst: hnode_getkey
      Src: /src/augeas/src/fa.c:1071,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - smap
    - set
    argTypes:
    - state_set_hash*
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: state_set_hash_uniq
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_free
    - hash_lookup
    - hnode_getkey
    linkageType: ''
    returnType: struct state_set
    signature: "struct state_set *state_set_hash_uniq(state_set_hash *smap,\n                                             struct
      state_set *set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_lookup
      Src: /src/augeas/src/fa.c:1080,1
    - Dst: hnode_get
      Src: /src/augeas/src/fa.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - smap
    - set
    argTypes:
    - state_set_hash*
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1082
    functionName: state_set_hash_get_state
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hnode_get
    - hash_lookup
    linkageType: ''
    returnType: struct state
    signature: "struct state *state_set_hash_get_state(state_set_hash *smap,\n                                             struct
      state_set *set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: set_hash
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hash_val_t
    signature: hash_val_t set_hash(const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state_set_equal
      Src: /src/augeas/src/fa.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1099
    functionName: set_cmp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_equal
    linkageType: ''
    returnType: int
    signature: int set_cmp(const void *key1, const void *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hnode_getkey
      Src: /src/augeas/src/fa.c:1102,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1103,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - hnode_t*
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1105
    functionName: set_destroy
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_free
    - hnode_getkey
    - free
    linkageType: ''
    returnType: void
    signature: void set_destroy(hnode_t *node, ATTRIBUTE_UNUSED void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_create
      Src: /src/augeas/src/fa.c:1111,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1112,1
    - Dst: hash_set_allocator
      Src: /src/augeas/src/fa.c:1113,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:1115,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1116,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1117,1
    - Dst: hash_alloc_insert
      Src: /src/augeas/src/fa.c:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - smap
    - set
    - fa
    argTypes:
    - state_set_hash**
    - struct state_set*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1107
    functionDepth: 4
    functionLinenumber: 1107
    functionLinenumberEnd: 1121
    functionName: state_set_hash_add
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_state
    - F
    - E
    - hash_set_allocator
    - hash_alloc_insert
    - hash_create
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: "ATTRIBUTE_RETURN_CHECK state_set_hash_add(state_set_hash **smap,\n
      \                             struct state_set *set, struct fa *fa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_lookup
      Src: /src/augeas/src/fa.c:1126,1
    - Dst: hash_delete
      Src: /src/augeas/src/fa.c:1127,1
    - Dst: hnode_getkey
      Src: /src/augeas/src/fa.c:1128,1
    - Dst: set_destroy
      Src: /src/augeas/src/fa.c:1129,1
    - Dst: hash_free_nodes
      Src: /src/augeas/src/fa.c:1131,1
    - Dst: hash_destroy
      Src: /src/augeas/src/fa.c:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - smap
    - protect
    argTypes:
    - state_set_hash*
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1123
    functionDepth: 3
    functionLinenumber: 1123
    functionLinenumberEnd: 1133
    functionName: state_set_hash_free
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - hash_delete
    - set_destroy
    - hash_lookup
    - hash_destroy
    - hnode_getkey
    - hash_free_nodes
    linkageType: ''
    returnType: void
    signature: "void state_set_hash_free(state_set_hash *smap,\n                                struct
      state_set *protect)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/fa.c:1138,1
    - Dst: list_cons
      Src: /src/augeas/src/fa.c:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list
    - set
    argTypes:
    - struct state_set_list**
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: state_set_list_add
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - list_cons
    - ALLOC
    linkageType: ''
    returnType: int
    signature: "int state_set_list_add(struct state_set_list **list,\n                              struct
      state_set *set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/fa.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct state_set_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1152
    functionName: state_set_list_pop
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: struct state_set
    signature: struct state_set *state_set_list_pop(struct state_set_list **list)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1169
    functionName: trans_to_cmp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trans_to_cmp(const void *v1, const void *v2)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1188
    functionName: trans_intv_cmp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trans_intv_cmp(const void *v1, const void *v2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:1195,1
    - Dst: qsort
      Src: /src/augeas/src/fa.c:1199,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:1210,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:1220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1225
    functionName: reduce
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    - memmove
    - qsort
    - list_for_each
    linkageType: ''
    returnType: void
    signature: void reduce(struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:1236,1
    - Dst: free_trans
      Src: /src/augeas/src/fa.c:1238,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:1244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1252
    functionName: collect_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free_trans
    - memmove
    - list_for_each
    linkageType: ''
    returnType: void
    signature: void collect_trans(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_trans
      Src: /src/augeas/src/fa.c:1260,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1266
    functionName: collect_dead_states
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free_trans
    - free
    linkageType: ''
    returnType: void
    signature: void collect_dead_states(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:1269,1
    - Dst: mark_live
      Src: /src/augeas/src/fa.c:1269,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:1275,1
    - Dst: free_trans
      Src: /src/augeas/src/fa.c:1276,1
    - Dst: list_free
      Src: /src/augeas/src/fa.c:1278,1
    - Dst: collect_trans
      Src: /src/augeas/src/fa.c:1281,1
    - Dst: collect_dead_states
      Src: /src/augeas/src/fa.c:1282,1
    - Dst: reduce
      Src: /src/augeas/src/fa.c:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1268
    functionDepth: 5
    functionLinenumber: 1268
    functionLinenumberEnd: 1288
    functionName: collect
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached:
    - collect_trans
    - F
    - mark_live
    - collect_dead_states
    - list_free
    - free_trans
    - list_for_each
    - reduce
    linkageType: ''
    returnType: int
    signature: int collect(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: swap_initial
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_initial(struct fa *fa)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: start_points
      Src: /src/augeas/src/fa.c:1315,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1316,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1318,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1319,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1320,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1325,1
    - Dst: state_set_list_add
      Src: /src/augeas/src/fa.c:1325,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1326,1
    - Dst: state_set_hash_add
      Src: /src/augeas/src/fa.c:1326,1
    - Dst: swap_initial
      Src: /src/augeas/src/fa.c:1328,1
    - Dst: state_set_list_pop
      Src: /src/augeas/src/fa.c:1330,1
    - Dst: state_set_hash_get_state
      Src: /src/augeas/src/fa.c:1331,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1336,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1337,1
    - Dst: for_each_trans
      Src: /src/augeas/src/fa.c:1339,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1341,1
    - Dst: state_set_add
      Src: /src/augeas/src/fa.c:1341,1
    - Dst: state_set_hash_contains
      Src: /src/augeas/src/fa.c:1345,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1346,1
    - Dst: state_set_list_add
      Src: /src/augeas/src/fa.c:1346,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1347,1
    - Dst: state_set_hash_add
      Src: /src/augeas/src/fa.c:1347,1
    - Dst: state_set_hash_uniq
      Src: /src/augeas/src/fa.c:1349,1
    - Dst: state_set_hash_get_state
      Src: /src/augeas/src/fa.c:1351,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:1356,1
    - Dst: state_set_hash_free
      Src: /src/augeas/src/fa.c:1364,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1365,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:1366,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - fa
    - ini
    argTypes:
    - struct fa*
    - struct state_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1304
    functionDepth: 5
    functionLinenumber: 1304
    functionLinenumberEnd: 1372
    functionName: determinize
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - state_set_list_pop
    - state_set_add
    - start_points
    - state_set_hash_free
    - state_set_hash_uniq
    - state_set_push
    - state_set_free
    - state_set_init
    - F
    - state_set_list_add
    - state_set_hash_contains
    - swap_initial
    - add_new_trans
    - free
    - for_each_trans
    - E
    - collect
    - state_set_hash_add
    - state_set_hash_get_state
    linkageType: ''
    returnType: int
    signature: int determinize(struct fa *fa, struct state_set *ini)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - struct state*
    - uchar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1385
    functionName: step
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct state
    signature: struct state *step(struct state *s, uchar c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1383
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/fa.c:1404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sl
    - s
    argTypes:
    - struct state_list*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1419
    functionName: state_list_add
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - ALLOC
    linkageType: ''
    returnType: struct state_list_node
    signature: "struct state_list_node *state_list_add(struct state_list *sl,\n                                              struct
      state *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/fa.c:1433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct state_list_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1434
    functionName: state_list_remove
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void state_list_remove(struct state_list_node *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_free
      Src: /src/augeas/src/fa.c:1438,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct state_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1440
    functionName: state_list_free
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free
    - list_free
    linkageType: ''
    returnType: void
    signature: void state_list_free(struct state_list *sl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1444
    functionName: INDEX
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INDEX(q, c)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:1468,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:1468,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1477,1
    - Dst: totalize
      Src: /src/augeas/src/fa.c:1477,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1480,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1481,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:1483,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1484,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1484,1
    - Dst: start_points
      Src: /src/augeas/src/fa.c:1488,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1489,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1494,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1494,1
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:1495,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1496,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1497,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1497,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1498,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1498,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1500,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1500,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1501,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1501,1
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:1509,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1510,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1512,1
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:1513,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1514,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1516,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1516,1
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:1517,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1518,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1520,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1520,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1523,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1524,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1525,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1527,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1527,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1528,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1528,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1529,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1529,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1529,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1541,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1541,1
    - Dst: step
      Src: /src/augeas/src/fa.c:1545,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:1546,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1547,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:1548,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1549,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1549,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1549,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:1550,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1550,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1559,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:1560,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1560,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1561,1
    - Dst: state_list_add
      Src: /src/augeas/src/fa.c:1562,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1562,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1563,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1563,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1568,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1568,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1572,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1573,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:1581,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1581,1
    - Dst: bitset_clr
      Src: /src/augeas/src/fa.c:1589,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1589,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1592,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1594,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1595,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1598,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:1599,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:1600,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1601,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1601,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1603,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1603,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:1604,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:1605,1
    - Dst: state_set_remove
      Src: /src/augeas/src/fa.c:1619,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1620,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1620,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1621,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1624,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1625,1
    - Dst: state_list_remove
      Src: /src/augeas/src/fa.c:1626,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1627,1
    - Dst: state_list_add
      Src: /src/augeas/src/fa.c:1628,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1628,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1630,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1630,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1636,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1637,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1640,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:1640,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:1643,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1643,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:1645,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1645,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:1648,1
    - Dst: INDEX
      Src: /src/augeas/src/fa.c:1648,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1656,1
    - Dst: bitset_clr
      Src: /src/augeas/src/fa.c:1657,1
    - Dst: bitset_clr
      Src: /src/augeas/src/fa.c:1659,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1666,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1667,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1668,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1668,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1669,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:1669,1
    - Dst: make_state
      Src: /src/augeas/src/fa.c:1672,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1673,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1678,1
    - Dst: for_each_trans
      Src: /src/augeas/src/fa.c:1690,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1691,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1693,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:1693,1
    - Dst: gut
      Src: /src/augeas/src/fa.c:1699,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1714,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1715,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1716,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1717,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:1718,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1719,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1722,1
    - Dst: state_list_free
      Src: /src/augeas/src/fa.c:1724,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1726,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1727,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1728,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1729,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:1730,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1731,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:1732,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1733,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:1734,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1737,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1739,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1741,1
    - Dst: free
      Src: /src/augeas/src/fa.c:1742,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1743,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:1745,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 195
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 1545
        line_start: 1545
        source_file: /src/augeas/src/fa.c
    - condition: (pn >= 0)
      pos:
        line_end: 1547
        line_start: 1547
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 1751
      start: 1445
    functionDepth: 5
    functionLinenumber: 1445
    functionLinenumberEnd: 1751
    functionName: minimize_hopcroft
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - bitset_set
    - start_points
    - state_set_remove
    - gut
    - assert
    - INDEX
    - bitset_clr
    - make_state
    - totalize
    - state_set_push
    - state_list_free
    - list_for_each
    - state_set_free
    - state_list_add
    - state_set_init
    - F
    - bitset_init
    - determinize
    - bitset_get
    - add_new_trans
    - bitset_free
    - free
    - step
    - for_each_trans
    - ALLOC_N
    - E
    - state_set_index
    - collect
    - state_list_remove
    - REALLOC_N
    linkageType: ''
    returnType: int
    signature: int minimize_hopcroft(struct fa *fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fa_reverse
      Src: /src/augeas/src/fa.c:1757,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1758,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1759,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:1759,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1760,1
    - Dst: fa_reverse
      Src: /src/augeas/src/fa.c:1762,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1763,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1764,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:1764,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1753
    functionDepth: 6
    functionLinenumber: 1753
    functionLinenumberEnd: 1769
    functionName: minimize_brzozowski
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - F
    - E
    - determinize
    - fa_reverse
    - state_set_free
    linkageType: ''
    returnType: int
    signature: int minimize_brzozowski(struct fa *fa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: minimize_brzozowski
      Src: /src/augeas/src/fa.c:1780,1
    - Dst: minimize_hopcroft
      Src: /src/augeas/src/fa.c:1782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1771
    functionDepth: 7
    functionLinenumber: 1771
    functionLinenumberEnd: 1788
    functionName: fa_minimize
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - minimize_brzozowski
    - minimize_hopcroft
    linkageType: ''
    returnType: int
    signature: int fa_minimize(struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/fa.c:1797,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:1799,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:1800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1794
    functionDepth: 3
    functionLinenumber: 1794
    functionLinenumberEnd: 1810
    functionName: fa_make_empty
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_state
    - ALLOC
    - fa_free
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_make_empty(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:1813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1812
    functionDepth: 4
    functionLinenumber: 1812
    functionLinenumberEnd: 1820
    functionName: fa_make_epsilon
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - fa_make_empty
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_make_epsilon(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:1823,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:1828,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:1834,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:1841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - uchar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1822
    functionDepth: 4
    functionLinenumber: 1822
    functionLinenumberEnd: 1843
    functionName: fa_make_char
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - fa_make_empty
    - add_state
    - add_new_trans
    - fa_free
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_make_char(uchar c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:1849,1
    - Dst: fa_make_epsilon
      Src: /src/augeas/src/fa.c:1851,1
    - Dst: fa_make_epsilon
      Src: /src/augeas/src/fa.c:1853,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:1854,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:1856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - basic
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1845
    functionDepth: 5
    functionLinenumber: 1845
    functionLinenumberEnd: 1862
    functionName: fa_make_basic
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - fa_make_epsilon
    - fa_make_empty
    - add_new_trans
    - fa_free
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_make_basic(unsigned int basic)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 2
    argNames:
    - fa
    - basic
    argTypes:
    - struct fa*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1893
    functionName: fa_is_basic
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fa_is_basic(struct fa *fa, unsigned int basic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:1897,1
    - Dst: ALLOC
      Src: /src/augeas/src/fa.c:1900,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:1906,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:1907,1
    - Dst: E
      Src: /src/augeas/src/fa.c:1908,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:1910,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1921,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:1922,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:1924,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1929,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:1932,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:1933,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts:
    - condition: (to >= 0)
      pos:
        line_end: 1921
        line_start: 1921
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 1935
      start: 1895
    functionDepth: 3
    functionLinenumber: 1895
    functionLinenumberEnd: 1935
    functionName: fa_clone
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_init
    - add_state
    - E
    - state_set_index
    - state_set_push
    - add_new_trans
    - fa_free
    - list_for_each
    - state_set_free
    - assert
    - ALLOC
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_clone(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:1921,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:1922,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:1924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (to >= 0)
      pos:
        line_end: 1921
        line_start: 1921
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 1927
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1927
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached:
    - state_set_index
    - assert
    - add_new_trans
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: case_expand
      Src: /src/augeas/src/fa.c:1946,1
    - Dst: case_expand
      Src: /src/augeas/src/fa.c:1948,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:1952,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:1955,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:1958,1
    - Dst: fa_merge
      Src: /src/augeas/src/fa.c:1964,1
    - Dst: set_initial
      Src: /src/augeas/src/fa.c:1966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1940
    functionDepth: 2
    functionLinenumber: 1940
    functionLinenumberEnd: 1969
    functionName: union_in_place
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_epsilon_trans
    - add_state
    - set_initial
    - fa_merge
    - case_expand
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK union_in_place(struct fa *fa1, struct fa **fa2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:1972,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:1973,1
    - Dst: F
      Src: /src/augeas/src/fa.c:1977,1
    - Dst: union_in_place
      Src: /src/augeas/src/fa.c:1977,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:1981,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:1982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1971
    functionDepth: 4
    functionLinenumber: 1971
    functionLinenumberEnd: 1984
    functionName: fa_union
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - union_in_place
    - fa_clone
    - F
    - fa_free
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_union(struct fa *fa1, struct fa *fa2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: case_expand
      Src: /src/augeas/src/fa.c:1992,1
    - Dst: case_expand
      Src: /src/augeas/src/fa.c:1994,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:1998,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:2001,1
    - Dst: fa_merge
      Src: /src/augeas/src/fa.c:2009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 2012
    functionName: concat_in_place
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_epsilon_trans
    - case_expand
    - list_for_each
    - fa_merge
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: ATTRIBUTE_RETURN_CHECK concat_in_place(struct fa *fa1, struct fa **fa2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2015,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2016,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2021,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:2021,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2023,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:2023,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2028,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2014
    functionDepth: 4
    functionLinenumber: 2014
    functionLinenumberEnd: 2031
    functionName: fa_concat
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - concat_in_place
    - F
    - collect
    - fa_free
    - fa_clone
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_concat(struct fa *fa1, struct fa *fa2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:2034,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:2039,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:2047,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:2052,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2054,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2065,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - cset
    - negate
    argTypes:
    - bitset*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2033
    functionDepth: 4
    functionLinenumber: 2033
    functionLinenumberEnd: 2067
    functionName: fa_make_char_set
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_state
    - fa_make_empty
    - add_new_trans
    - bitset_get
    - fa_free
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_make_char_set(bitset *cset, int negate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2073,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:2077,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:2081,1
    - Dst: set_initial
      Src: /src/augeas/src/fa.c:2085,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2086,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:2088,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2099,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2069
    functionDepth: 4
    functionLinenumber: 2069
    functionLinenumberEnd: 2101
    functionName: fa_star
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_epsilon_trans
    - add_state
    - set_initial
    - fa_free
    - fa_clone
    - list_for_each
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_star(struct fa *fa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fa_make_epsilon
      Src: /src/augeas/src/fa.c:2106,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2108,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2110,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2114,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2116,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:2119,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2120,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - fa
    - n
    argTypes:
    - struct fa*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2104
    functionDepth: 5
    functionLinenumber: 2104
    functionLinenumberEnd: 2128
    functionName: repeat
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - fa_make_epsilon
    - fa_clone
    - concat_in_place
    - fa_free
    linkageType: ''
    returnType: struct fa
    signature: struct fa *repeat(struct fa *fa, int n)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:2137,1
    - Dst: fa_star
      Src: /src/augeas/src/fa.c:2140,1
    - Dst: repeat
      Src: /src/augeas/src/fa.c:2145,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2147,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:2150,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2151,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2152,1
    - Dst: repeat
      Src: /src/augeas/src/fa.c:2160,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2164,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2166,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2170,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2172,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2173,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2176,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:2178,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2180,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2181,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2182,1
    - Dst: fa_merge
      Src: /src/augeas/src/fa.c:2187,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2191,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:2193,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2195,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2196,1
    - Dst: fa_merge
      Src: /src/augeas/src/fa.c:2201,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:2205,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2206,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 3
    argNames:
    - fa
    - min
    - max
    argTypes:
    - struct fa*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2130
    functionDepth: 6
    functionLinenumber: 2130
    functionLinenumberEnd: 2211
    functionName: fa_iter
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached:
    - fa_star
    - add_epsilon_trans
    - concat_in_place
    - fa_merge
    - collect
    - fa_make_empty
    - repeat
    - fa_free
    - fa_clone
    - list_for_each
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_iter(struct fa *fa, int min, int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2214,1
    - Dst: qsort
      Src: /src/augeas/src/fa.c:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2217
    functionName: sort_transition_intervals
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - qsort
    - list_for_each
    linkageType: ''
    returnType: void
    signature: void sort_transition_intervals(struct fa *fa)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2226,1
    - Dst: fa_is_basic
      Src: /src/augeas/src/fa.c:2228,1
    - Dst: fa_is_basic
      Src: /src/augeas/src/fa.c:2228,1
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:2229,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2232,1
    - Dst: case_expand
      Src: /src/augeas/src/fa.c:2232,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2233,1
    - Dst: case_expand
      Src: /src/augeas/src/fa.c:2233,1
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:2236,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:2237,1
    - Dst: state_triple_init
      Src: /src/augeas/src/fa.c:2238,1
    - Dst: sort_transition_intervals
      Src: /src/augeas/src/fa.c:2242,1
    - Dst: sort_transition_intervals
      Src: /src/augeas/src/fa.c:2243,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2245,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2245,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2246,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2246,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2247,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2247,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2248,1
    - Dst: state_triple_push
      Src: /src/augeas/src/fa.c:2248,1
    - Dst: state_set_pop
      Src: /src/augeas/src/fa.c:2251,1
    - Dst: state_set_pop
      Src: /src/augeas/src/fa.c:2252,1
    - Dst: state_set_pop
      Src: /src/augeas/src/fa.c:2253,1
    - Dst: state_triple_thd
      Src: /src/augeas/src/fa.c:2265,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:2268,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2269,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2270,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2270,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2271,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2271,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2272,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2272,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2273,1
    - Dst: state_triple_push
      Src: /src/augeas/src/fa.c:2273,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2280,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2290,1
    - Dst: state_triple_free
      Src: /src/augeas/src/fa.c:2291,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:2293,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2294,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2301,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2219
    functionDepth: 5
    functionLinenumber: 2219
    functionLinenumberEnd: 2304
    functionName: fa_intersect
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 5
    functionsReached:
    - sort_transition_intervals
    - state_set_push
    - fa_free
    - state_set_free
    - state_triple_free
    - state_set_init
    - F
    - add_state
    - state_triple_push
    - add_new_trans
    - case_expand
    - state_set_pop
    - E
    - collect
    - fa_make_empty
    - fa_clone
    - fa_is_basic
    - state_triple_init
    - state_triple_thd
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_intersect(struct fa *fa1, struct fa *fa2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:2317,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:2317,1
    - Dst: sort_transition_intervals
      Src: /src/augeas/src/fa.c:2318,1
    - Dst: sort_transition_intervals
      Src: /src/augeas/src/fa.c:2319,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2321,1
    - Dst: state_pair_push
      Src: /src/augeas/src/fa.c:2321,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2322,1
    - Dst: state_pair_push
      Src: /src/augeas/src/fa.c:2322,1
    - Dst: state_set_pop_data
      Src: /src/augeas/src/fa.c:2326,1
    - Dst: state_pair_find
      Src: /src/augeas/src/fa.c:2349,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2350,1
    - Dst: state_pair_push
      Src: /src/augeas/src/fa.c:2350,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2351,1
    - Dst: state_pair_push
      Src: /src/augeas/src/fa.c:2351,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2361,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2362,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2306
    functionDepth: 4
    functionLinenumber: 2306
    functionLinenumberEnd: 2367
    functionName: fa_contains
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - F
    - determinize
    - state_pair_push
    - state_set_pop_data
    - state_pair_find
    - state_set_free
    - sort_transition_intervals
    linkageType: ''
    returnType: int
    signature: int fa_contains(struct fa *fa1, struct fa *fa2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2376,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2381,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2384,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2387,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2389,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - fa
    - s
    - crash
    - min
    - max
    argTypes:
    - struct fa*
    - struct state*
    - struct state*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2395
    functionName: add_crash_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_new_trans
    linkageType: ''
    returnType: int
    signature: "int add_crash_trans(struct fa *fa, struct state *s, struct state *crash,\n
      \                          int min, int max)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: add_state
      Src: /src/augeas/src/fa.c:2399,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2401,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2402,1
    - Dst: mark_reachable
      Src: /src/augeas/src/fa.c:2402,1
    - Dst: sort_transition_intervals
      Src: /src/augeas/src/fa.c:2403,1
    - Dst: add_crash_trans
      Src: /src/augeas/src/fa.c:2405,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2409,1
    - Dst: add_crash_trans
      Src: /src/augeas/src/fa.c:2415,1
    - Dst: add_crash_trans
      Src: /src/augeas/src/fa.c:2423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2397
    functionDepth: 4
    functionLinenumber: 2397
    functionLinenumberEnd: 2431
    functionName: totalize
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - add_state
    - F
    - E
    - mark_reachable
    - add_crash_trans
    - list_for_each
    - sort_transition_intervals
    linkageType: ''
    returnType: int
    signature: int totalize(struct fa *fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2434,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2435,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2436,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:2436,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2437,1
    - Dst: totalize
      Src: /src/augeas/src/fa.c:2437,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2438,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2441,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:2441,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2433
    functionDepth: 5
    functionLinenumber: 2433
    functionLinenumberEnd: 2446
    functionName: fa_complement
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached:
    - F
    - E
    - collect
    - totalize
    - determinize
    - fa_free
    - fa_clone
    - list_for_each
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_complement(struct fa *fa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fa_is_basic
      Src: /src/augeas/src/fa.c:2452,1
    - Dst: fa_make_empty
      Src: /src/augeas/src/fa.c:2453,1
    - Dst: fa_is_basic
      Src: /src/augeas/src/fa.c:2454,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2455,1
    - Dst: fa_complement
      Src: /src/augeas/src/fa.c:2457,1
    - Dst: fa_intersect
      Src: /src/augeas/src/fa.c:2461,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2448
    functionDepth: 6
    functionLinenumber: 2448
    functionLinenumberEnd: 2464
    functionName: fa_minus
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - fa_make_empty
    - fa_free
    - fa_clone
    - fa_is_basic
    - fa_complement
    - fa_intersect
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_minus(struct fa *fa1, struct fa *fa2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_state
      Src: /src/augeas/src/fa.c:2468,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2472,1
    - Dst: mark_reachable
      Src: /src/augeas/src/fa.c:2472,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2473,1
    - Dst: add_epsilon_trans
      Src: /src/augeas/src/fa.c:2475,1
    - Dst: set_initial
      Src: /src/augeas/src/fa.c:2481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2466
    functionDepth: 4
    functionLinenumber: 2466
    functionLinenumberEnd: 2486
    functionName: accept_to_accept
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_epsilon_trans
    - add_state
    - F
    - set_initial
    - mark_reachable
    - list_for_each
    linkageType: ''
    returnType: int
    signature: int accept_to_accept(struct fa *fa)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2495,1
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2496,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:2500,1
    - Dst: accept_to_accept
      Src: /src/augeas/src/fa.c:2502,1
    - Dst: fa_reverse
      Src: /src/augeas/src/fa.c:2505,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2506,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:2507,1
    - Dst: accept_to_accept
      Src: /src/augeas/src/fa.c:2509,1
    - Dst: fa_reverse
      Src: /src/augeas/src/fa.c:2511,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2512,1
    - Dst: determinize
      Src: /src/augeas/src/fa.c:2513,1
    - Dst: fa_intersect
      Src: /src/augeas/src/fa.c:2516,1
    - Dst: fa_make_epsilon
      Src: /src/augeas/src/fa.c:2520,1
    - Dst: fa_minus
      Src: /src/augeas/src/fa.c:2524,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2529,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2530,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2531,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2532,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2488
    functionDepth: 7
    functionLinenumber: 2488
    functionLinenumberEnd: 2534
    functionName: fa_overlap
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - fa_make_epsilon
    - accept_to_accept
    - determinize
    - fa_reverse
    - fa_free
    - fa_minus
    - fa_clone
    - state_set_free
    - fa_intersect
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_overlap(struct fa *fa1, struct fa *fa2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fa_contains
      Src: /src/augeas/src/fa.c:2541,1
    - Dst: fa_contains
      Src: /src/augeas/src/fa.c:2546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2536
    functionDepth: 5
    functionLinenumber: 2536
    functionLinenumberEnd: 2547
    functionName: fa_equals
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 10
    functionsReached:
    - fa_contains
    linkageType: ''
    returnType: int
    signature: int fa_equals(struct fa *fa1, struct fa *fa2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/augeas/src/fa.c:2550,1
    - Dst: isalnum
      Src: /src/augeas/src/fa.c:2552,1
    - Dst: isprint
      Src: /src/augeas/src/fa.c:2554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2561
    functionName: chr_score
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - isalnum
    - isalpha
    - isprint
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int chr_score(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chr_score
      Src: /src/augeas/src/fa.c:2566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct re_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2563
    functionDepth: 1
    functionLinenumber: 2563
    functionLinenumberEnd: 2569
    functionName: str_score
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - chr_score
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int str_score(const struct re_str *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: str_score
      Src: /src/augeas/src/fa.c:2579,1
    - Dst: chr_score
      Src: /src/augeas/src/fa.c:2579,1
    - Dst: str_score
      Src: /src/augeas/src/fa.c:2579,1
    - Dst: make_re_str
      Src: /src/augeas/src/fa.c:2582,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:2585,1
    - Dst: free
      Src: /src/augeas/src/fa.c:2586,1
    - Dst: memcpy
      Src: /src/augeas/src/fa.c:2589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - c
    argTypes:
    - struct re_str*
    - struct re_str*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2595
    functionName: string_extend
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - chr_score
    - str_score
    - REALLOC_N
    - free
    - memcpy
    - make_re_str
    linkageType: ''
    returnType: struct re_str
    signature: "struct re_str *string_extend(struct re_str *dst,\n                                    const
      struct re_str *src,\n                                    char c)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/augeas/src/fa.c:2599,1
    - Dst: isalnum
      Src: /src/augeas/src/fa.c:2601,1
    - Dst: isprint
      Src: /src/augeas/src/fa.c:2603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct trans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2605
    functionName: pick_char
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - isalnum
    - isalpha
    - isprint
    linkageType: ''
    returnType: char
    signature: char pick_char(struct trans *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sort_transition_intervals
      Src: /src/augeas/src/fa.c:2619,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:2622,1
    - Dst: make_re_str
      Src: /src/augeas/src/fa.c:2623,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2626,1
    - Dst: state_set_push_data
      Src: /src/augeas/src/fa.c:2626,1
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:2630,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2633,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2633,1
    - Dst: state_set_pop
      Src: /src/augeas/src/fa.c:2636,1
    - Dst: state_set_find_data
      Src: /src/augeas/src/fa.c:2637,1
    - Dst: pick_char
      Src: /src/augeas/src/fa.c:2639,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:2640,1
    - Dst: string_extend
      Src: /src/augeas/src/fa.c:2642,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2643,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2644,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2644,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2645,1
    - Dst: state_set_push_data
      Src: /src/augeas/src/fa.c:2645,1
    - Dst: string_extend
      Src: /src/augeas/src/fa.c:2647,1
    - Dst: str_score
      Src: /src/augeas/src/fa.c:2657,1
    - Dst: str_score
      Src: /src/augeas/src/fa.c:2657,1
    - Dst: free_re_str
      Src: /src/augeas/src/fa.c:2658,1
    - Dst: free_re_str
      Src: /src/augeas/src/fa.c:2661,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2664,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2665,1
    - Dst: free
      Src: /src/augeas/src/fa.c:2669,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2673,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:2674,1
    - Dst: free_re_str
      Src: /src/augeas/src/fa.c:2675,1
    - Dst: free_re_str
      Src: /src/augeas/src/fa.c:2676,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - fa
    - example
    - example_len
    argTypes:
    - struct fa*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2610
    functionDepth: 4
    functionLinenumber: 2610
    functionLinenumberEnd: 2678
    functionName: fa_example
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached:
    - state_set_find_data
    - state_set_init
    - F
    - E
    - state_set_index
    - pick_char
    - str_score
    - string_extend
    - state_set_push
    - free
    - free_re_str
    - state_set_pop
    - state_set_free
    - sort_transition_intervals
    - state_set_push_data
    - make_re_str
    linkageType: ''
    returnType: int
    signature: int fa_example(struct fa *fa, char **example, size_t *example_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pick_char
      Src: /src/augeas/src/fa.c:2639,1
    - Dst: state_set_index
      Src: /src/augeas/src/fa.c:2640,1
    - Dst: string_extend
      Src: /src/augeas/src/fa.c:2642,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2643,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2644,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:2644,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2645,1
    - Dst: state_set_push_data
      Src: /src/augeas/src/fa.c:2645,1
    - Dst: string_extend
      Src: /src/augeas/src/fa.c:2647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2638
    functionDepth: 4
    functionLinenumber: 2638
    functionLinenumberEnd: 2649
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached:
    - F
    - E
    - state_set_index
    - pick_char
    - string_extend
    - state_set_push
    - state_set_push_data
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/augeas/src/fa.c:2693,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:2693,1
    - Dst: strdup
      Src: /src/augeas/src/fa.c:2706,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2707,1
    - Dst: fa_enumerate_intl
      Src: /src/augeas/src/fa.c:2710,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - s
    - ei
    - pos
    argTypes:
    - struct state*
    - struct enum_intl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2688
    functionDepth: 1
    functionLinenumber: 2688
    functionLinenumberEnd: 2719
    functionName: fa_enumerate_intl
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - F
    - E
    - fa_enumerate_intl
    - strdup
    - REALLOC_N
    linkageType: ''
    returnType: int
    signature: int fa_enumerate_intl(struct state *s, struct enum_intl *ei, int pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/fa.c:2706,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2707,1
    - Dst: fa_enumerate_intl
      Src: /src/augeas/src/fa.c:2710,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2697
    functionDepth: 2
    functionLinenumber: 2697
    functionLinenumberEnd: 2714
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached:
    - E
    - fa_enumerate_intl
    - strdup
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:2726,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2729,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:2729,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2730,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:2730,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2734,1
    - Dst: strdup
      Src: /src/augeas/src/fa.c:2740,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2741,1
    - Dst: fa_enumerate_intl
      Src: /src/augeas/src/fa.c:2744,1
    - Dst: E
      Src: /src/augeas/src/fa.c:2745,1
    - Dst: free
      Src: /src/augeas/src/fa.c:2751,1
    - Dst: free
      Src: /src/augeas/src/fa.c:2756,1
    - Dst: free
      Src: /src/augeas/src/fa.c:2757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - fa
    - limit
    - words
    argTypes:
    - struct fa*
    - int
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2721
    functionDepth: 2
    functionLinenumber: 2721
    functionLinenumberEnd: 2759
    functionName: fa_enumerate
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - ALLOC_N
    - F
    - MEMZERO
    - E
    - fa_enumerate_intl
    - strdup
    - list_for_each
    - free
    linkageType: ''
    returnType: int
    signature: int fa_enumerate(struct fa *fa, int limit, char ***words)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:2777,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2781,1
    - Dst: mark_reachable
      Src: /src/augeas/src/fa.c:2781,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2782,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:2786,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2794,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:2798,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2799,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:2802,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:2809,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - fa
    - add_marker
    - X
    - Y
    argTypes:
    - struct fa*
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2773
    functionDepth: 4
    functionLinenumber: 2773
    functionLinenumberEnd: 2811
    functionName: expand_alphabet
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_state
    - F
    - mark_reachable
    - add_new_trans
    - fa_free
    - fa_clone
    - list_for_each
    linkageType: ''
    returnType: struct fa
    signature: "struct fa *expand_alphabet(struct fa *fa, int add_marker,\n                                  char
      X, char Y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:2814,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2819,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:2822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2826
    functionName: alphabet
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - bitset_set
    - list_for_each
    - bitset_init
    linkageType: ''
    returnType: bitset
    signature: bitset *alphabet(struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:2829,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:2834,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:2838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2828
    functionDepth: 2
    functionLinenumber: 2828
    functionLinenumberEnd: 2843
    functionName: last_chars
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - bitset_set
    - list_for_each
    - bitset_init
    linkageType: ''
    returnType: bitset
    signature: bitset *last_chars(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:2846,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:2854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2845
    functionDepth: 2
    functionLinenumber: 2845
    functionLinenumberEnd: 2857
    functionName: first_chars
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - bitset_set
    - bitset_init
    linkageType: ''
    returnType: bitset
    signature: bitset *first_chars(struct fa *fa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alphabet
      Src: /src/augeas/src/fa.c:2871,1
    - Dst: last_chars
      Src: /src/augeas/src/fa.c:2872,1
    - Dst: bitset_disjoint
      Src: /src/augeas/src/fa.c:2875,1
    - Dst: alphabet
      Src: /src/augeas/src/fa.c:2880,1
    - Dst: first_chars
      Src: /src/augeas/src/fa.c:2881,1
    - Dst: bitset_disjoint
      Src: /src/augeas/src/fa.c:2884,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:2890,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:2891,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:2892,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:2893,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - fa1
    - fa2
    argTypes:
    - struct fa*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2864
    functionDepth: 3
    functionLinenumber: 2864
    functionLinenumberEnd: 2895
    functionName: is_splittable
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - first_chars
    - bitset_disjoint
    - bitset_free
    - last_chars
    - alphabet
    linkageType: ''
    returnType: int
    signature: int is_splittable(struct fa *fa1, struct fa *fa2)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: is_splittable
      Src: /src/augeas/src/fa.c:2919,1
    - Dst: fa_compile
      Src: /src/augeas/src/fa.c:2932,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:2932,1
    - Dst: fa_compile
      Src: /src/augeas/src/fa.c:2935,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:2935,1
    - Dst: fa_compile
      Src: /src/augeas/src/fa.c:2938,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:2938,1
    - Dst: fa_compile
      Src: /src/augeas/src/fa.c:2941,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:2941,1
    - Dst: expand_alphabet
      Src: /src/augeas/src/fa.c:2951,1
    - Dst: expand_alphabet
      Src: /src/augeas/src/fa.c:2952,1
    - Dst: expand_alphabet
      Src: /src/augeas/src/fa.c:2953,1
    - Dst: expand_alphabet
      Src: /src/augeas/src/fa.c:2954,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:2959,1
    - Dst: fa_intersect
      Src: /src/augeas/src/fa.c:2961,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:2964,1
    - Dst: fa_is_basic
      Src: /src/augeas/src/fa.c:2966,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:2974,1
    - Dst: fa_intersect
      Src: /src/augeas/src/fa.c:2976,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:2979,1
    - Dst: fa_intersect
      Src: /src/augeas/src/fa.c:2985,1
    - Dst: fa_example
      Src: /src/augeas/src/fa.c:2990,1
    - Dst: F
      Src: /src/augeas/src/fa.c:2997,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:2997,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:3001,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:3009,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:3017,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3025,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3026,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3027,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3028,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3029,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3030,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3031,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3032,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3033,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3034,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3035,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:3037,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:3043,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 119
    argCount: 6
    argNames:
    - fa1
    - fa2
    - upv
    - upv_len
    - pv
    - v
    argTypes:
    - struct fa*
    - struct fa*
    - char**
    - size_t*
    - char**
    - char**
    assertStmts:
    - condition: ((t - result) < result_len)
      pos:
        line_end: 3016
        line_start: 3016
        source_file: /src/augeas/src/fa.c
    - condition: ((t - result) < result_len)
      pos:
        line_end: 3008
        line_start: 3008
        source_file: /src/augeas/src/fa.c
    - condition: ((t - result) < result_len)
      pos:
        line_end: 3000
        line_start: 3000
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3046
      start: 2900
    functionDepth: 6
    functionLinenumber: 2900
    functionLinenumberEnd: 3046
    functionName: fa_ambig_example
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached:
    - fa_compile
    - ALLOC_N
    - concat_in_place
    - F
    - is_splittable
    - fa_example
    - FREE
    - fa_free
    - strlen
    - fa_is_basic
    - assert
    - expand_alphabet
    - fa_intersect
    linkageType: ''
    returnType: int
    signature: "int fa_ambig_example(struct fa *fa1, struct fa *fa2,\n                     char
      **upv, size_t *upv_len,\n                     char **pv, char **v)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fa_from_re
      Src: /src/augeas/src/fa.c:3057,1
    - Dst: fa_from_re
      Src: /src/augeas/src/fa.c:3060,1
    - Dst: union_in_place
      Src: /src/augeas/src/fa.c:3063,1
    - Dst: fa_from_re
      Src: /src/augeas/src/fa.c:3069,1
    - Dst: fa_from_re
      Src: /src/augeas/src/fa.c:3072,1
    - Dst: concat_in_place
      Src: /src/augeas/src/fa.c:3075,1
    - Dst: fa_make_char_set
      Src: /src/augeas/src/fa.c:3080,1
    - Dst: fa_from_re
      Src: /src/augeas/src/fa.c:3084,1
    - Dst: fa_iter
      Src: /src/augeas/src/fa.c:3087,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3088,1
    - Dst: fa_make_epsilon
      Src: /src/augeas/src/fa.c:3092,1
    - Dst: fa_make_char
      Src: /src/augeas/src/fa.c:3095,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:3098,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:3103,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 3097
        line_start: 3097
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3105
      start: 3051
    functionDepth: 7
    functionLinenumber: 3051
    functionLinenumberEnd: 3105
    functionName: fa_from_re
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - concat_in_place
    - fa_make_epsilon
    - fa_make_char
    - fa_from_re
    - fa_make_char_set
    - union_in_place
    - fa_free
    - fa_iter
    - assert
    linkageType: ''
    returnType: struct fa
    signature: struct fa *fa_from_re(struct re *re)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/fa.c:3110,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3113,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3114,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3116,1
    - Dst: bitset_free
      Src: /src/augeas/src/fa.c:3118,1
    - Dst: free
      Src: /src/augeas/src/fa.c:3120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts:
    - condition: (re->ref == 0)
      pos:
        line_end: 3109
        line_start: 3109
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3121
      start: 3107
    functionDepth: 1
    functionLinenumber: 3107
    functionLinenumberEnd: 3121
    functionName: free_re
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - re_unref
    - assert
    - free
    - bitset_free
    linkageType: ''
    returnType: void
    signature: void free_re(struct re *re)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_regexp
      Src: /src/augeas/src/fa.c:3133,1
    - Dst: fa_from_re
      Src: /src/augeas/src/fa.c:3137,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3138,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:3140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - regexp
    - size
    - fa
    argTypes:
    - char*
    - size_t
    - struct fa**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3123
    functionDepth: 8
    functionLinenumber: 3123
    functionLinenumberEnd: 3143
    functionName: fa_compile
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 7
    functionsReached:
    - parse_regexp
    - re_unref
    - collect
    - fa_from_re
    linkageType: ''
    returnType: int
    signature: int fa_compile(const char *regexp, size_t size, struct fa **fa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:3153,1
    - Dst: tolower
      Src: /src/augeas/src/fa.c:3159,1
    - Dst: tolower
      Src: /src/augeas/src/fa.c:3160,1
    - Dst: tolower
      Src: /src/augeas/src/fa.c:3165,1
    - Dst: tolower
      Src: /src/augeas/src/fa.c:3166,1
    - Dst: F
      Src: /src/augeas/src/fa.c:3170,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:3170,1
    - Dst: F
      Src: /src/augeas/src/fa.c:3174,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:3174,1
    - Dst: F
      Src: /src/augeas/src/fa.c:3177,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:3177,1
    - Dst: F
      Src: /src/augeas/src/fa.c:3179,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:3179,1
    - Dst: F
      Src: /src/augeas/src/fa.c:3183,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:3183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3148
    functionDepth: 1
    functionLinenumber: 3148
    functionLinenumberEnd: 3187
    functionName: fa_nocase
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached:
    - F
    - collect
    - add_new_trans
    - list_for_each
    - tolower
    linkageType: ''
    returnType: int
    signature: int fa_nocase(struct fa *fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3191
    functionName: fa_is_nocase
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fa_is_nocase(struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:3201,1
    - Dst: toupper
      Src: /src/augeas/src/fa.c:3207,1
    - Dst: toupper
      Src: /src/augeas/src/fa.c:3208,1
    - Dst: F
      Src: /src/augeas/src/fa.c:3212,1
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:3212,1
    - Dst: F
      Src: /src/augeas/src/fa.c:3215,1
    - Dst: collect
      Src: /src/augeas/src/fa.c:3215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3196
    functionDepth: 1
    functionLinenumber: 3196
    functionLinenumberEnd: 3219
    functionName: case_expand
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - toupper
    - F
    - collect
    - add_new_trans
    - list_for_each
    linkageType: ''
    returnType: int
    signature: int case_expand(struct fa *fa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/fa.c:3227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum re_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3225
    functionDepth: 1
    functionLinenumber: 3225
    functionLinenumberEnd: 3230
    functionName: make_re
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - make_ref
    linkageType: ''
    returnType: struct re
    signature: struct re *make_re(enum re_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3233,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - exp
    - min
    - max
    argTypes:
    - struct re*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3232
    functionDepth: 2
    functionLinenumber: 3232
    functionLinenumberEnd: 3242
    functionName: make_re_rep
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - make_re
    - re_unref
    linkageType: ''
    returnType: struct re
    signature: struct re *make_re_rep(struct re *exp, int min, int max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3246,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3251,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - type
    - exp1
    - exp2
    argTypes:
    - enum re_type
    - struct re*
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3244
    functionDepth: 2
    functionLinenumber: 3244
    functionLinenumberEnd: 3255
    functionName: make_re_binop
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - make_re
    - re_unref
    linkageType: ''
    returnType: struct re
    signature: "struct re *make_re_binop(enum re_type type, struct re *exp1,\n                                struct
      re *exp2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - uchar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3257
    functionDepth: 2
    functionLinenumber: 3257
    functionLinenumberEnd: 3262
    functionName: make_re_char
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - make_re
    linkageType: ''
    returnType: struct re
    signature: struct re *make_re_char(uchar c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3265,1
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:3269,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - negate
    - no_ranges
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3264
    functionDepth: 2
    functionLinenumber: 3264
    functionLinenumberEnd: 3274
    functionName: make_re_char_set
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - make_re
    - re_unref
    - bitset_init
    linkageType: ''
    returnType: struct re
    signature: struct re *make_re_char_set(bool negate, bool no_ranges)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct re_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3278
    functionName: more
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool more(struct re_parse *parse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: more
      Src: /src/augeas/src/fa.c:3281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - parse
    - m
    argTypes:
    - struct re_parse*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3280
    functionDepth: 1
    functionLinenumber: 3280
    functionLinenumberEnd: 3288
    functionName: match
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 50
    functionsReached:
    - more
    linkageType: ''
    returnType: bool
    signature: bool match(struct re_parse *parse, char m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/fa.c:3291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - parse
    - chars
    argTypes:
    - struct re_parse*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3292
    functionName: peek
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool peek(struct re_parse *parse, const char *chars)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: more
      Src: /src/augeas/src/fa.c:3295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - parse
    - c
    argTypes:
    - struct re_parse*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3294
    functionDepth: 1
    functionLinenumber: 3294
    functionLinenumberEnd: 3300
    functionName: next
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 13
    functionsReached:
    - more
    linkageType: ''
    returnType: bool
    signature: bool next(struct re_parse *parse, char *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: more
      Src: /src/augeas/src/fa.c:3303,1
    - Dst: next
      Src: /src/augeas/src/fa.c:3307,1
    - Dst: next
      Src: /src/augeas/src/fa.c:3309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - parse
    - quoted
    - c
    argTypes:
    - struct re_parse*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3302
    functionDepth: 2
    functionLinenumber: 3302
    functionLinenumberEnd: 3311
    functionName: parse_char
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - next
    - more
    linkageType: ''
    returnType: bool
    signature: bool parse_char(struct re_parse *parse, int quoted, char *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/fa.c:3314,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:3316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - re
    - from
    - to
    argTypes:
    - struct re*
    - uchar
    - uchar
    assertStmts:
    - condition: (re->type == CSET)
      pos:
        line_end: 3313
        line_start: 3313
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3317
      start: 3313
    functionDepth: 1
    functionLinenumber: 3313
    functionLinenumberEnd: 3317
    functionName: add_re_char
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - bitset_set
    - assert
    linkageType: ''
    returnType: void
    signature: void add_re_char(struct re *re, uchar from, uchar to)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: more
      Src: /src/augeas/src/fa.c:3320,1
    - Dst: parse_char
      Src: /src/augeas/src/fa.c:3325,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3327,1
    - Dst: more
      Src: /src/augeas/src/fa.c:3328,1
    - Dst: peek
      Src: /src/augeas/src/fa.c:3332,1
    - Dst: add_re_char
      Src: /src/augeas/src/fa.c:3337,1
    - Dst: add_re_char
      Src: /src/augeas/src/fa.c:3338,1
    - Dst: parse_char
      Src: /src/augeas/src/fa.c:3340,1
    - Dst: add_re_char
      Src: /src/augeas/src/fa.c:3349,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - parse
    - re
    argTypes:
    - struct re_parse*
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3319
    functionDepth: 3
    functionLinenumber: 3319
    functionLinenumberEnd: 3352
    functionName: parse_char_class
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - peek
    - parse_char
    - add_re_char
    - more
    - match
    linkageType: ''
    returnType: void
    signature: void parse_char_class(struct re_parse *parse, struct re *re)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/augeas/src/fa.c:3357,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3358,1
    - Dst: make_re_char_set
      Src: /src/augeas/src/fa.c:3359,1
    - Dst: parse_char_class
      Src: /src/augeas/src/fa.c:3364,1
    - Dst: more
      Src: /src/augeas/src/fa.c:3367,1
    - Dst: peek
      Src: /src/augeas/src/fa.c:3367,1
    - Dst: parse_char_class
      Src: /src/augeas/src/fa.c:3368,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3372,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3376,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3377,1
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3378,1
    - Dst: parse_regexp
      Src: /src/augeas/src/fa.c:3384,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3387,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3392,1
    - Dst: make_re_char_set
      Src: /src/augeas/src/fa.c:3393,1
    - Dst: add_re_char
      Src: /src/augeas/src/fa.c:3398,1
    - Dst: more
      Src: /src/augeas/src/fa.c:3399,1
    - Dst: parse_char
      Src: /src/augeas/src/fa.c:3401,1
    - Dst: make_re_char
      Src: /src/augeas/src/fa.c:3405,1
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3411,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3419,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct re_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3354
    functionDepth: 4
    functionLinenumber: 3354
    functionLinenumberEnd: 3421
    functionName: parse_simple_exp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - make_re
    - peek
    - parse_char
    - parse_char_class
    - parse_regexp
    - make_re_char_set
    - add_re_char
    - re_unref
    - more
    - match
    - make_re_char
    linkageType: ''
    returnType: struct re
    signature: struct re *parse_simple_exp(struct re_parse *parse)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/augeas/src/fa.c:3435,1
    - Dst: strndup
      Src: /src/augeas/src/fa.c:3438,1
    - Dst: strtoul
      Src: /src/augeas/src/fa.c:3443,1
    - Dst: free
      Src: /src/augeas/src/fa.c:3445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct re_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3456
    functionName: parse_int
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - free
    - strtoul
    - strndup
    linkageType: ''
    returnType: int
    signature: int parse_int(struct re_parse *parse)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: parse_simple_exp
      Src: /src/augeas/src/fa.c:3459,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3462,1
    - Dst: make_re_rep
      Src: /src/augeas/src/fa.c:3463,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3464,1
    - Dst: make_re_rep
      Src: /src/augeas/src/fa.c:3465,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3466,1
    - Dst: make_re_rep
      Src: /src/augeas/src/fa.c:3467,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3468,1
    - Dst: parse_int
      Src: /src/augeas/src/fa.c:3470,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3473,1
    - Dst: parse_int
      Src: /src/augeas/src/fa.c:3474,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3477,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3481,1
    - Dst: make_re_rep
      Src: /src/augeas/src/fa.c:3491,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3497,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct re_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3458
    functionDepth: 5
    functionLinenumber: 3458
    functionLinenumberEnd: 3499
    functionName: parse_repeated_exp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - make_re_rep
    - re_unref
    - match
    - parse_simple_exp
    - parse_int
    linkageType: ''
    returnType: struct re
    signature: struct re *parse_repeated_exp(struct re_parse *parse)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_repeated_exp
      Src: /src/augeas/src/fa.c:3502,1
    - Dst: more
      Src: /src/augeas/src/fa.c:3506,1
    - Dst: peek
      Src: /src/augeas/src/fa.c:3506,1
    - Dst: parse_concat_exp
      Src: /src/augeas/src/fa.c:3507,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:3510,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3519,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct re_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3501
    functionDepth: 6
    functionLinenumber: 3501
    functionLinenumberEnd: 3521
    functionName: parse_concat_exp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - peek
    - parse_concat_exp
    - parse_repeated_exp
    - re_unref
    - more
    - make_re_binop
    linkageType: ''
    returnType: struct re
    signature: struct re *parse_concat_exp(struct re_parse *parse)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/augeas/src/fa.c:3527,1
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3528,1
    - Dst: parse_concat_exp
      Src: /src/augeas/src/fa.c:3530,1
    - Dst: match
      Src: /src/augeas/src/fa.c:3534,1
    - Dst: peek
      Src: /src/augeas/src/fa.c:3537,1
    - Dst: make_re
      Src: /src/augeas/src/fa.c:3538,1
    - Dst: parse_regexp
      Src: /src/augeas/src/fa.c:3540,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:3544,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:3555,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct re_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3557
      start: 3523
    functionDepth: 7
    functionLinenumber: 3523
    functionLinenumberEnd: 3557
    functionName: parse_regexp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - make_re
    - peek
    - parse_concat_exp
    - parse_regexp
    - re_unref
    - match
    - make_re_binop
    linkageType: ''
    returnType: struct re
    signature: struct re *parse_regexp(struct re_parse *parse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/fa.c:3567,1
    - Dst: re_binop_count
      Src: /src/augeas/src/fa.c:3569,1
    - Dst: re_binop_count
      Src: /src/augeas/src/fa.c:3569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - type
    - re
    argTypes:
    - enum re_type
    - struct re*
    assertStmts:
    - condition: (type == CONCAT || type == UNION)
      pos:
        line_end: 3566
        line_start: 3566
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3573
      start: 3566
    functionDepth: 1
    functionLinenumber: 3566
    functionLinenumberEnd: 3573
    functionName: re_binop_count
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - re_binop_count
    - assert
    linkageType: ''
    returnType: int
    signature: int re_binop_count(enum re_type type, const struct re *re)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_binop_store
      Src: /src/augeas/src/fa.c:3579,1
    - Dst: re_binop_store
      Src: /src/augeas/src/fa.c:3580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - type
    - re
    - list
    argTypes:
    - enum re_type
    - struct re*
    - struct re**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3586
      start: 3575
    functionDepth: 1
    functionLinenumber: 3575
    functionLinenumberEnd: 3586
    functionName: re_binop_store
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - re_binop_store
    linkageType: ''
    returnType: int
    signature: "int re_binop_store(enum re_type type, const struct re *re,\n                          const
      struct re **list)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/fa.c:3589,1
    - Dst: re_binop_count
      Src: /src/augeas/src/fa.c:3596,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3597,1
    - Dst: re_binop_store
      Src: /src/augeas/src/fa.c:3601,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3603,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:3609,1
    - Dst: re_str_alloc
      Src: /src/augeas/src/fa.c:3615,1
    - Dst: memcpy
      Src: /src/augeas/src/fa.c:3623,1
    - Dst: free
      Src: /src/augeas/src/fa.c:3629,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:3632,1
    - Dst: free
      Src: /src/augeas/src/fa.c:3634,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:3637,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - re
    - str
    argTypes:
    - struct re*
    - struct re_str*
    assertStmts:
    - condition: (re->type == UNION)
      pos:
        line_end: 3588
        line_start: 3588
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3640
      start: 3588
    functionDepth: 2
    functionLinenumber: 3588
    functionLinenumberEnd: 3640
    functionName: re_union_as_string
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - release_re_str
    - ALLOC_N
    - re_str_alloc
    - re_binop_count
    - re_as_string
    - re_binop_store
    - assert
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int re_union_as_string(const struct re *re, struct re_str *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3642
    functionDepth: 0
    functionLinenumber: 3642
    functionLinenumberEnd: 3645
    functionName: re_needs_parens_in_concat
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE re_needs_parens_in_concat(const struct re *re)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/fa.c:3648,1
    - Dst: re_binop_count
      Src: /src/augeas/src/fa.c:3655,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3656,1
    - Dst: re_binop_store
      Src: /src/augeas/src/fa.c:3659,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3661,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:3669,1
    - Dst: re_needs_parens_in_concat
      Src: /src/augeas/src/fa.c:3672,1
    - Dst: re_str_alloc
      Src: /src/augeas/src/fa.c:3676,1
    - Dst: re_needs_parens_in_concat
      Src: /src/augeas/src/fa.c:3684,1
    - Dst: memcpy
      Src: /src/augeas/src/fa.c:3686,1
    - Dst: re_needs_parens_in_concat
      Src: /src/augeas/src/fa.c:3688,1
    - Dst: free
      Src: /src/augeas/src/fa.c:3694,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:3697,1
    - Dst: free
      Src: /src/augeas/src/fa.c:3699,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:3702,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 2
    argNames:
    - re
    - str
    argTypes:
    - struct re*
    - struct re_str*
    assertStmts:
    - condition: (re->type == CONCAT)
      pos:
        line_end: 3647
        line_start: 3647
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3705
      start: 3647
    functionDepth: 2
    functionLinenumber: 3647
    functionLinenumberEnd: 3705
    functionName: re_concat_as_string
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - release_re_str
    - ALLOC_N
    - re_str_alloc
    - re_binop_count
    - re_needs_parens_in_concat
    - re_as_string
    - re_binop_store
    - assert
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int re_concat_as_string(const struct re *re, struct re_str *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:3708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cset
    - c
    argTypes:
    - struct re*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3709
      start: 3707
    functionDepth: 1
    functionLinenumber: 3707
    functionLinenumberEnd: 3709
    functionName: cset_contains
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - bitset_get
    linkageType: ''
    returnType: bool
    signature: bool cset_contains(const struct re *cset, int c)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3726,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3732,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3735,1
    - Dst: strdup
      Src: /src/augeas/src/fa.c:3739,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3744,1
    - Dst: strdup
      Src: /src/augeas/src/fa.c:3748,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3758,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3759,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3763,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3767,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3772,1
    - Dst: re_str_alloc
      Src: /src/augeas/src/fa.c:3795,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3810,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3815,1
    - Dst: cset_contains
      Src: /src/augeas/src/fa.c:3820,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3849,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:3852,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 110
    argCount: 2
    argNames:
    - re
    - str
    argTypes:
    - struct re*
    - struct re_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3854
      start: 3711
    functionDepth: 2
    functionLinenumber: 3711
    functionLinenumberEnd: 3854
    functionName: re_cset_as_string
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - release_re_str
    - re_str_alloc
    - cset_contains
    - strdup
    - strlen
    linkageType: ''
    returnType: int
    signature: int re_cset_as_string(const struct re *re, struct re_str *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:3861,1
    - Dst: asprintf
      Src: /src/augeas/src/fa.c:3871,1
    - Dst: asprintf
      Src: /src/augeas/src/fa.c:3876,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:3883,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3883,1
    - Dst: strcpy
      Src: /src/augeas/src/fa.c:3885,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3886,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:3889,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3889,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:3891,1
    - Dst: strcpy
      Src: /src/augeas/src/fa.c:3895,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3896,1
    - Dst: FREE
      Src: /src/augeas/src/fa.c:3901,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:3904,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - re
    - str
    argTypes:
    - struct re*
    - struct re_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3906
      start: 3856
    functionDepth: 2
    functionLinenumber: 3856
    functionLinenumberEnd: 3906
    functionName: re_iter_as_string
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - release_re_str
    - FREE
    - strcpy
    - re_as_string
    - strlen
    - asprintf
    - memmove
    - REALLOC_N
    linkageType: ''
    returnType: int
    signature: int re_iter_as_string(const struct re *re, struct re_str *str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: re_union_as_string
      Src: /src/augeas/src/fa.c:3915,1
    - Dst: re_concat_as_string
      Src: /src/augeas/src/fa.c:3918,1
    - Dst: re_cset_as_string
      Src: /src/augeas/src/fa.c:3921,1
    - Dst: strchr
      Src: /src/augeas/src/fa.c:3924,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3925,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3930,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3934,1
    - Dst: re_iter_as_string
      Src: /src/augeas/src/fa.c:3938,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3941,1
    - Dst: strcpy
      Src: /src/augeas/src/fa.c:3943,1
    - Dst: strlen
      Src: /src/augeas/src/fa.c:3944,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:3947,1
    - Dst: abort
      Src: /src/augeas/src/fa.c:3948,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:3953,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - re
    - str
    argTypes:
    - struct re*
    - struct re_str*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 3946
        line_start: 3946
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 3955
      start: 3908
    functionDepth: 3
    functionLinenumber: 3908
    functionLinenumberEnd: 3955
    functionName: re_as_string
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - release_re_str
    - ALLOC_N
    - re_iter_as_string
    - re_concat_as_string
    - re_union_as_string
    - strcpy
    - strchr
    - strlen
    - abort
    - assert
    - re_cset_as_string
    linkageType: ''
    returnType: int
    signature: int re_as_string(const struct re *re, struct re_str *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/augeas/src/fa.c:3966,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:3971,1
    - Dst: make_re_char_set
      Src: /src/augeas/src/fa.c:3986,1
    - Dst: add_re_char
      Src: /src/augeas/src/fa.c:3990,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:3992,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:4001,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:4007,1
    - Dst: make_re_char
      Src: /src/augeas/src/fa.c:4008,1
    - Dst: free_trans
      Src: /src/augeas/src/fa.c:4013,1
    - Dst: unref
      Src: /src/augeas/src/fa.c:4021,1
    - Dst: free
      Src: /src/augeas/src/fa.c:4022,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts:
    - condition: (nto == tind + 1)
      pos:
        line_end: 3991
        line_start: 3991
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 4024
      start: 3957
    functionDepth: 3
    functionLinenumber: 3957
    functionLinenumberEnd: 4024
    functionName: convert_trans_to_re
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - make_re_char_set
    - add_re_char
    - bitset_get
    - free_trans
    - re_unref
    - qsort
    - make_re_char
    - unref
    - assert
    - free
    linkageType: ''
    returnType: int
    signature: int convert_trans_to_re(struct state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_re_char_set
      Src: /src/augeas/src/fa.c:3986,1
    - Dst: add_re_char
      Src: /src/augeas/src/fa.c:3990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3977
    functionDepth: 3
    functionLinenumber: 3977
    functionLinenumberEnd: 3991
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached:
    - make_re_char_set
    - add_re_char
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_new_trans
      Src: /src/augeas/src/fa.c:4030,1
    - Dst: last_trans
      Src: /src/augeas/src/fa.c:4033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - re
    argTypes:
    - struct state*
    - struct state*
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 4026
    functionDepth: 1
    functionLinenumber: 4026
    functionLinenumberEnd: 4035
    functionName: add_new_re_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - add_new_trans
    - last_trans
    linkageType: ''
    returnType: ATTRIBUTE_RETURN_CHECK
    signature: "ATTRIBUTE_RETURN_CHECK add_new_re_trans(struct state *s1, struct state
      *s2,\n                            struct re *re)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: make_re_rep
      Src: /src/augeas/src/fa.c:4044,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4044,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4051,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:4053,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4053,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4058,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:4060,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4060,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4060,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:4063,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4063,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:4065,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4065,1
    - Dst: last_trans
      Src: /src/augeas/src/fa.c:4073,1
    - Dst: last_trans
      Src: /src/augeas/src/fa.c:4074,1
    - Dst: add_new_re_trans
      Src: /src/augeas/src/fa.c:4075,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:4081,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 5
    argNames:
    - s1
    - s2
    - r1
    - loop
    - r2
    argTypes:
    - struct state*
    - struct state*
    - struct re*
    - struct re*
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4090
      start: 4039
    functionDepth: 3
    functionLinenumber: 4039
    functionLinenumberEnd: 4090
    functionName: re_collapse_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - last_trans
    - make_re_rep
    - add_new_re_trans
    - ref
    - make_re_binop
    linkageType: ''
    returnType: int
    signature: "int re_collapse_trans(struct state *s1, struct state *s2,\n                             struct
      re *r1, struct re *loop, struct re *r2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: state_set_init
      Src: /src/augeas/src/fa.c:4093,1
    - Dst: E
      Src: /src/augeas/src/fa.c:4096,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4099,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4104,1
    - Dst: state_set_pop
      Src: /src/augeas/src/fa.c:4112,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:4121,1
    - Dst: make_re_binop
      Src: /src/augeas/src/fa.c:4132,1
    - Dst: memmove
      Src: /src/augeas/src/fa.c:4135,1
    - Dst: F
      Src: /src/augeas/src/fa.c:4149,1
    - Dst: state_set_push
      Src: /src/augeas/src/fa.c:4149,1
    - Dst: free
      Src: /src/augeas/src/fa.c:4158,1
    - Dst: free
      Src: /src/augeas/src/fa.c:4159,1
    - Dst: state_set_free
      Src: /src/augeas/src/fa.c:4167,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4092
    functionDepth: 3
    functionLinenumber: 4092
    functionLinenumberEnd: 4169
    functionName: convert_strings
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - state_set_init
    - F
    - E
    - state_set_push
    - state_set_pop
    - list_for_each
    - state_set_free
    - memmove
    - free
    - make_re_binop
    linkageType: ''
    returnType: int
    signature: int convert_strings(struct fa *fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4107
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4107
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fa_clone
      Src: /src/augeas/src/fa.c:4199,1
    - Dst: make_re
      Src: /src/augeas/src/fa.c:4203,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:4207,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4213,1
    - Dst: convert_trans_to_re
      Src: /src/augeas/src/fa.c:4214,1
    - Dst: add_new_re_trans
      Src: /src/augeas/src/fa.c:4218,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4218,1
    - Dst: add_state
      Src: /src/augeas/src/fa.c:4225,1
    - Dst: add_new_re_trans
      Src: /src/augeas/src/fa.c:4229,1
    - Dst: ref
      Src: /src/augeas/src/fa.c:4229,1
    - Dst: set_initial
      Src: /src/augeas/src/fa.c:4232,1
    - Dst: convert_strings
      Src: /src/augeas/src/fa.c:4234,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4236,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4245,1
    - Dst: re_collapse_trans
      Src: /src/augeas/src/fa.c:4253,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:4265,1
    - Dst: for_each_trans
      Src: /src/augeas/src/fa.c:4267,1
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4270,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:4271,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4278,1
    - Dst: unref
      Src: /src/augeas/src/fa.c:4280,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:4283,1
    - Dst: fa_free
      Src: /src/augeas/src/fa.c:4287,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:4288,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 3
    argNames:
    - fa
    - regexp
    - regexp_len
    argTypes:
    - struct fa*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4192
    functionDepth: 4
    functionLinenumber: 4192
    functionLinenumberEnd: 4290
    functionName: fa_as_regexp
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 6
    functionsReached:
    - make_re
    - convert_strings
    - for_each_trans
    - add_state
    - set_initial
    - MEMZERO
    - re_collapse_trans
    - add_new_re_trans
    - ref
    - fa_free
    - convert_trans_to_re
    - re_unref
    - re_as_string
    - fa_clone
    - list_for_each
    - unref
    linkageType: ''
    returnType: int
    signature: int fa_as_regexp(struct fa *fa, char **regexp, size_t *regexp_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4244
      start: 4241
    functionDepth: 0
    functionLinenumber: 4241
    functionLinenumberEnd: 4244
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unref
      Src: /src/augeas/src/fa.c:4280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4281
      start: 4279
    functionDepth: 1
    functionLinenumber: 4279
    functionLinenumberEnd: 4281
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 5
    functionsReached:
    - unref
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: re_restrict_alphabet
      Src: /src/augeas/src/fa.c:4299,1
    - Dst: re_restrict_alphabet
      Src: /src/augeas/src/fa.c:4300,1
    - Dst: bitset_negate
      Src: /src/augeas/src/fa.c:4306,1
    - Dst: bitset_clr
      Src: /src/augeas/src/fa.c:4309,1
    - Dst: re_restrict_alphabet
      Src: /src/augeas/src/fa.c:4316,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:4321,1
    - Dst: abort
      Src: /src/augeas/src/fa.c:4322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - re
    - from
    - to
    argTypes:
    - struct re*
    - uchar
    - uchar
    assertStmts:
    - condition: (0)
      pos:
        line_end: 4320
        line_start: 4320
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 4326
      start: 4292
    functionDepth: 1
    functionLinenumber: 4292
    functionLinenumberEnd: 4326
    functionName: re_restrict_alphabet
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - bitset_clr
    - re_restrict_alphabet
    - bitset_negate
    - abort
    - assert
    linkageType: ''
    returnType: int
    signature: int re_restrict_alphabet(struct re *re, uchar from, uchar to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4337,1
    - Dst: parse_regexp
      Src: /src/augeas/src/fa.c:4341,1
    - Dst: re_restrict_alphabet
      Src: /src/augeas/src/fa.c:4345,1
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4351,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:4352,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:4356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - regexp
    - regexp_len
    - newregexp
    - newregexp_len
    - from
    - to
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4358
      start: 4328
    functionDepth: 8
    functionLinenumber: 4328
    functionLinenumberEnd: 4358
    functionName: fa_restrict_alphabet
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - MEMZERO
    - parse_regexp
    - re_restrict_alphabet
    - re_unref
    - re_as_string
    linkageType: ''
    returnType: int
    signature: "int fa_restrict_alphabet(const char *regexp, size_t regexp_len,\n
      \                        char **newregexp, size_t *newregexp_len,\n                         char
      from, char to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4368,1
    - Dst: parse_regexp
      Src: /src/augeas/src/fa.c:4373,1
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4377,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:4378,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:4381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - regexp
    - regexp_len
    - newregexp
    - newregexp_len
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4383
      start: 4360
    functionDepth: 8
    functionLinenumber: 4360
    functionLinenumberEnd: 4383
    functionName: fa_expand_char_ranges
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 2
    functionsReached:
    - re_unref
    - parse_regexp
    - re_as_string
    - MEMZERO
    linkageType: ''
    returnType: int
    signature: "int fa_expand_char_ranges(const char *regexp, size_t regexp_len,\n
      \                         char **newregexp, size_t *newregexp_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: re_case_expand
      Src: /src/augeas/src/fa.c:4396,1
    - Dst: re_case_expand
      Src: /src/augeas/src/fa.c:4397,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:4402,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:4404,1
    - Dst: tolower
      Src: /src/augeas/src/fa.c:4404,1
    - Dst: bitset_get
      Src: /src/augeas/src/fa.c:4407,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:4409,1
    - Dst: toupper
      Src: /src/augeas/src/fa.c:4409,1
    - Dst: isalpha
      Src: /src/augeas/src/fa.c:4413,1
    - Dst: bitset_init
      Src: /src/augeas/src/fa.c:4418,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:4421,1
    - Dst: tolower
      Src: /src/augeas/src/fa.c:4421,1
    - Dst: bitset_set
      Src: /src/augeas/src/fa.c:4422,1
    - Dst: toupper
      Src: /src/augeas/src/fa.c:4422,1
    - Dst: re_case_expand
      Src: /src/augeas/src/fa.c:4427,1
    - Dst: assert
      Src: /src/augeas/src/fa.c:4432,1
    - Dst: abort
      Src: /src/augeas/src/fa.c:4433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 4431
        line_start: 4431
        source_file: /src/augeas/src/fa.c
    constantsTouched: []
    func_position:
      end: 4437
      start: 4390
    functionDepth: 2
    functionLinenumber: 4390
    functionLinenumberEnd: 4437
    functionName: re_case_expand
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - bitset_set
    - toupper
    - bitset_init
    - re_case_expand
    - bitset_get
    - tolower
    - abort
    - assert
    - isalpha
    linkageType: ''
    returnType: int
    signature: int re_case_expand(struct re *re)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4447,1
    - Dst: parse_regexp
      Src: /src/augeas/src/fa.c:4451,1
    - Dst: re_case_expand
      Src: /src/augeas/src/fa.c:4455,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:4457,1
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4462,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:4463,1
    - Dst: strndup
      Src: /src/augeas/src/fa.c:4467,1
    - Dst: re_unref
      Src: /src/augeas/src/fa.c:4471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - regexp
    - regexp_len
    - newregexp
    - newregexp_len
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4473
      start: 4439
    functionDepth: 8
    functionLinenumber: 4439
    functionLinenumberEnd: 4473
    functionName: fa_expand_nocase
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - strndup
    - re_case_expand
    - MEMZERO
    - parse_regexp
    - re_unref
    - re_as_string
    linkageType: ''
    returnType: int
    signature: "int fa_expand_nocase(const char *regexp, size_t regexp_len,\n                     char
      **newregexp, size_t *newregexp_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/fa.c:4480,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4483,1
    - Dst: isprint
      Src: /src/augeas/src/fa.c:4484,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4485,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4487,1
    - Dst: fputc
      Src: /src/augeas/src/fa.c:4489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - out
    - c
    argTypes:
    - FILE*
    - uchar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4491
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4491
    functionName: print_char
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached:
    - isprint
    - strchr
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_char(FILE *out, uchar c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4494,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4495,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4497,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4499,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4502,1
    - Dst: MEMZERO
      Src: /src/augeas/src/fa.c:4506,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4507,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4509,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:4511,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4513,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:4515,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4517,1
    - Dst: fputc
      Src: /src/augeas/src/fa.c:4519,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4520,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4523,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - out
    - fa
    argTypes:
    - FILE*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4527
      start: 4493
    functionDepth: 4
    functionLinenumber: 4493
    functionLinenumberEnd: 4527
    functionName: fa_dot
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 3
    functionsReached:
    - print_char
    - release_re_str
    - MEMZERO
    - fprintf
    - fputc
    - re_as_string
    - list_for_each
    linkageType: ''
    returnType: void
    signature: void fa_dot(FILE *out, struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4509,1
    - Dst: re_as_string
      Src: /src/augeas/src/fa.c:4511,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4513,1
    - Dst: release_re_str
      Src: /src/augeas/src/fa.c:4515,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4517,1
    - Dst: fputc
      Src: /src/augeas/src/fa.c:4519,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4520,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4524
      start: 4508
    functionDepth: 4
    functionLinenumber: 4508
    functionLinenumberEnd: 4524
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 5
    functionsReached:
    - print_char
    - release_re_str
    - fprintf
    - fputc
    - re_as_string
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4537,1
    - Dst: F
      Src: /src/augeas/src/fa.c:4539,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/fa.c:4539,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4541,1
    - Dst: F
      Src: /src/augeas/src/fa.c:4544,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/fa.c:4544,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4552,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4555,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4560,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4564,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4567,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4569,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4571,1
    - Dst: fputc
      Src: /src/augeas/src/fa.c:4573,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4574,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4576,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4580,1
    - Dst: list_for_each
      Src: /src/augeas/src/fa.c:4589,1
    - Dst: free
      Src: /src/augeas/src/fa.c:4593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - out
    - fa
    argTypes:
    - FILE*
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4529
    functionDepth: 1
    functionLinenumber: 4529
    functionLinenumberEnd: 4595
    functionName: fa_json
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 1
    functionsReached:
    - print_char
    - ALLOC_N
    - F
    - fprintf
    - fputc
    - list_for_each
    - REALLOC_N
    - free
    linkageType: ''
    returnType: int
    signature: int fa_json(FILE *out, struct fa *fa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4567,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4569,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4571,1
    - Dst: fputc
      Src: /src/augeas/src/fa.c:4573,1
    - Dst: print_char
      Src: /src/augeas/src/fa.c:4574,1
    - Dst: fprintf
      Src: /src/augeas/src/fa.c:4576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4577
      start: 4565
    functionDepth: 1
    functionLinenumber: 4565
    functionLinenumberEnd: 4577
    functionName: for_each_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 5
    functionsReached:
    - fputc
    - print_char
    - fprintf
    linkageType: ''
    returnType: void
    signature: void for_each_trans(t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4599
      start: 4597
    functionDepth: 0
    functionLinenumber: 4597
    functionLinenumberEnd: 4599
    functionName: fa_is_deterministic
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fa_is_deterministic(struct fa *fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fa
    argTypes:
    - struct fa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4603
      start: 4601
    functionDepth: 0
    functionLinenumber: 4601
    functionLinenumberEnd: 4603
    functionName: fa_state_initial
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct state
    signature: struct state *fa_state_initial(struct fa *fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4607
      start: 4605
    functionDepth: 0
    functionLinenumber: 4605
    functionLinenumberEnd: 4607
    functionName: fa_state_is_accepting
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fa_state_is_accepting(struct state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4611
      start: 4609
    functionDepth: 0
    functionLinenumber: 4609
    functionLinenumberEnd: 4611
    functionName: fa_state_next
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct state
    signature: struct state * fa_state_next(struct state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4613
    functionDepth: 0
    functionLinenumber: 4613
    functionLinenumberEnd: 4615
    functionName: fa_state_num_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t fa_state_num_trans(struct state *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - st
    - i
    - to
    - min
    - max
    argTypes:
    - struct state*
    - size_t
    - struct state**
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4626
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4626
    functionName: fa_state_trans
    functionSourceFile: /src/augeas/src/fa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fa_state_trans(struct state *st, size_t i,\n                   struct
      state **to, unsigned char *min, unsigned char *max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ALLOC
    functionSourceFile: /src/augeas/src/memory.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ALLOC_N
    functionSourceFile: /src/augeas/src/memory.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_N(ptr, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: REALLOC_N
    functionSourceFile: /src/augeas/src/memory.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REALLOC_N(ptr, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: FREE
    functionSourceFile: /src/augeas/src/memory.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE(ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/ast.c:68,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/ast.c:70,1
    - Dst: ALLOC
      Src: /src/augeas/src/ast.c:72,1
    - Dst: ALLOC
      Src: /src/augeas/src/ast.c:74,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:88,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:89,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:91,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:92,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - key
    - skel
    - subdict
    argTypes:
    - char*
    - struct skel*
    - struct dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 94
    functionName: make_dict
    functionSourceFile: /src/augeas/src/ast.c
    functionUses: 0
    functionsReached:
    - FREE
    - ALLOC_N
    - ALLOC
    linkageType: ''
    returnType: struct dict
    signature: struct dict *make_dict(char *key, struct skel *skel, struct dict *subdict)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_skel
      Src: /src/augeas/src/ast.c:107,1
    - Dst: free_dict
      Src: /src/augeas/src/ast.c:108,1
    - Dst: free
      Src: /src/augeas/src/ast.c:109,1
    - Dst: free
      Src: /src/augeas/src/ast.c:111,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:112,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:114,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - dict
    argTypes:
    - struct dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: free_dict
    functionSourceFile: /src/augeas/src/ast.c
    functionUses: 2
    functionsReached:
    - free_dict
    - FREE
    - free_skel
    - free
    linkageType: ''
    returnType: void
    signature: void free_dict(struct dict *dict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/augeas/src/ast.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - struct dict*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: dict_pos
    functionSourceFile: /src/augeas/src/ast.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int dict_pos(struct dict *dict, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/ast.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dict
    argTypes:
    - struct dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: dict_expand
    functionSourceFile: /src/augeas/src/ast.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    linkageType: ''
    returnType: int
    signature: int dict_expand(struct dict *dict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dict_pos
      Src: /src/augeas/src/ast.c:170,1
    - Dst: dict_expand
      Src: /src/augeas/src/ast.c:174,1
    - Dst: memmove
      Src: /src/augeas/src/ast.c:177,1
    - Dst: list_tail_cons
      Src: /src/augeas/src/ast.c:183,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:184,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:185,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:188,1
    - Dst: FREE
      Src: /src/augeas/src/ast.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - dict
    - d2
    argTypes:
    - struct dict**
    - struct dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 191
    functionName: dict_append
    functionSourceFile: /src/augeas/src/ast.c
    functionUses: 0
    functionsReached:
    - dict_expand
    - dict_pos
    - list_tail_cons
    - FREE
    - memmove
    linkageType: ''
    returnType: int
    signature: int dict_append(struct dict **dict, struct dict *d2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_pos
      Src: /src/augeas/src/ast.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - key
    - dict
    - skel
    - subdict
    argTypes:
    - char*
    - struct dict*
    - struct skel**
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: dict_lookup
    functionSourceFile: /src/augeas/src/ast.c
    functionUses: 1
    functionsReached:
    - dict_pos
    linkageType: ''
    returnType: void
    signature: "void dict_lookup(const char *key, struct dict *dict,\n                 struct
      skel **skel, struct dict **subdict)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:283,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:285,1
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: streqx
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STREQ
    - strlen
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE streqx(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: STATE_ERROR
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_ERROR(state, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: HAS_ERROR
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_ERROR(state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:387,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:389,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pred
    argTypes:
    - struct pred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: free_pred
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free_expr
    - free
    linkageType: ''
    returnType: void
    signature: void free_pred(struct pred *pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/pathx.c:397,1
    - Dst: free_pred
      Src: /src/augeas/src/pathx.c:398,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - step
    argTypes:
    - struct step*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: free_step
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free
    - free_pred
    linkageType: ''
    returnType: void
    signature: void free_step(struct step *step)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/pathx.c:409,1
    - Dst: free_pred
      Src: /src/augeas/src/pathx.c:410,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:411,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - locpath
    argTypes:
    - struct locpath*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: free_locpath
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free
    - free_pred
    linkageType: ''
    returnType: void
    signature: void free_locpath(struct locpath *locpath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:421,1
    - Dst: free_pred
      Src: /src/augeas/src/pathx.c:422,1
    - Dst: free_locpath
      Src: /src/augeas/src/pathx.c:423,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:426,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:427,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:432,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:436,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:437,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:440,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct expr*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 443
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 443
    functionName: free_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 2
    functionsReached:
    - free_pred
    - free_locpath
    - free_expr
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void free_expr(struct expr *expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/pathx.c:447,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct nodeset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: free_nodeset
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_nodeset(struct nodeset *ns)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free_nodeset
      Src: /src/augeas/src/pathx.c:459,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:462,1
    - Dst: unref
      Src: /src/augeas/src/pathx.c:468,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct value*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: release_value
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free_nodeset
    - assert
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void release_value(struct value *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:480,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:481,1
    - Dst: release_value
      Src: /src/augeas/src/pathx.c:484,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:485,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:486,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: free_state
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 2
    functionsReached:
    - free_expr
    - free
    - release_value
    linkageType: ''
    returnType: void
    signature: void free_state(struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_state
      Src: /src/augeas/src/pathx.c:493,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pathx
    argTypes:
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: free_pathx
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 23
    functionsReached:
    - free_state
    - free
    linkageType: ''
    returnType: void
    signature: void free_pathx(struct pathx *pathx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: make_nodeset
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ALLOC
    linkageType: ''
    returnType: struct nodeset
    signature: struct nodeset *make_nodeset(struct state *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/pathx.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ns
    - node
    - state
    argTypes:
    - struct nodeset*
    - struct tree*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 525
    functionName: ns_add
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    linkageType: ''
    returnType: void
    signature: "void ns_add(struct nodeset *ns, struct tree *node,\n                   struct
      state *state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct nodeset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: ns_clear_added
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ns_clear_added(struct nodeset *ns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:536,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:540,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ns
    - state
    argTypes:
    - struct nodeset*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: clone_nodeset
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free
    - ALLOC_N
    - ALLOC
    linkageType: ''
    returnType: struct nodeset
    signature: 'struct nodeset *

      clone_nodeset(struct nodeset *ns, struct state *state)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/pathx.c:556,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/pathx.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - tag
    - state
    argTypes:
    - enum type
    - struct state*
    assertStmts:
    - condition: (tag != T_BOOLEAN)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 573
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 573
    functionName: make_value
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 7
    functionsReached:
    - REALLOC_N
    - assert
    linkageType: ''
    returnType: value_ind_t
    signature: value_ind_t make_value(enum type tag, struct state *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:576,1
    - Dst: clone_nodeset
      Src: /src/augeas/src/pathx.c:582,1
    - Dst: strdup
      Src: /src/augeas/src/pathx.c:588,1
    - Dst: ref
      Src: /src/augeas/src/pathx.c:597,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - v
    - state
    argTypes:
    - struct value*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 603
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 603
    functionName: clone_value
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - clone_nodeset
    - ref
    - strdup
    - assert
    - make_value
    linkageType: ''
    returnType: value_ind_t
    signature: value_ind_t clone_value(struct value *v, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:610,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 614
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 614
    functionName: pop_value_ind
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - assert
    - STATE_ERROR
    linkageType: ''
    returnType: value_ind_t
    signature: value_ind_t pop_value_ind(struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pop_value_ind
      Src: /src/augeas/src/pathx.c:617,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: pop_value
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - HAS_ERROR
    - pop_value_ind
    linkageType: ''
    returnType: struct value
    signature: struct value *pop_value(struct state *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/pathx.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vind
    - state
    argTypes:
    - value_ind_t
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 634
    functionName: push_value
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    linkageType: ''
    returnType: void
    signature: void push_value(value_ind_t vind, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - state
    argTypes:
    - int
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: push_boolean_value
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_value
    linkageType: ''
    returnType: void
    signature: void push_boolean_value(int b, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: expr_value
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE *expr_value(struct expr *expr, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: ensure_arity
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ensure_arity(min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:658,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:659,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: func_last
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - push_value
    - make_value
    linkageType: ''
    returnType: void
    signature: void func_last(struct state *state, int nargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:667,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:668,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 673
    functionName: func_position
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - push_value
    - make_value
    linkageType: ''
    returnType: void
    signature: void func_position(struct state *state, int nargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:676,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:677,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:680,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: func_count
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - pop_value
    - make_value
    - push_value
    linkageType: ''
    returnType: void
    signature: void func_count(struct state *state, int nargs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:686,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:687,1
    - Dst: strdup
      Src: /src/augeas/src/pathx.c:693,1
    - Dst: strdup
      Src: /src/augeas/src/pathx.c:695,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 702
    functionName: func_label
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - push_value
    - strdup
    - make_value
    linkageType: ''
    returnType: void
    signature: void func_label(struct state *state, int nargs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:705,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:706,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:710,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:720,1
    - Dst: xstrtoint64
      Src: /src/augeas/src/pathx.c:727,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:729,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 736
    functionName: func_int
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_value
    - ensure_arity
    - xstrtoint64
    - pop_value
    - make_value
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: void func_int(struct state *state, int nargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:739,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 3
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: func_modified
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - push_boolean_value
    linkageType: ''
    returnType: void
    signature: void func_modified(struct state *state, int nargs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:745,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:748,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 752
    functionName: func_not
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - pop_value
    - push_boolean_value
    linkageType: ''
    returnType: void
    signature: void func_not(struct state *state, int nargs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: make_regexp_unescape
      Src: /src/augeas/src/pathx.c:768,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:770,1
    - Dst: make_regexp_from_glob
      Src: /src/augeas/src/pathx.c:777,1
    - Dst: make_regexp_unescape
      Src: /src/augeas/src/pathx.c:779,1
    - Dst: regexp_union_n
      Src: /src/augeas/src/pathx.c:783,1
    - Dst: unref
      Src: /src/augeas/src/pathx.c:789,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:790,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - info
    - ns
    - glob
    - nocase
    argTypes:
    - struct info*
    - struct nodeset*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 793
    functionName: nodeset_as_regexp
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - unref
    - make_regexp_from_glob
    - regexp_union_n
    - free
    - make_regexp_unescape
    linkageType: ''
    returnType: struct regexp
    signature: 'struct regexp *

      nodeset_as_regexp(struct info *info, struct nodeset *ns, int glob, int nocase)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:796,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:801,1
    - Dst: make_regexp_from_glob
      Src: /src/augeas/src/pathx.c:806,1
    - Dst: make_regexp_unescape
      Src: /src/augeas/src/pathx.c:808,1
    - Dst: nodeset_as_regexp
      Src: /src/augeas/src/pathx.c:810,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:812,1
    - Dst: regexp_compile
      Src: /src/augeas/src/pathx.c:821,1
    - Dst: regexp_check
      Src: /src/augeas/src/pathx.c:824,1
    - Dst: strdup
      Src: /src/augeas/src/pathx.c:825,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:826,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - state
    - glob
    - nocase
    argTypes:
    - struct state*
    - int
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 811
        line_start: 811
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 830
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 830
    functionName: func_regexp_or_glob
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_value
    - regexp_compile
    - regexp_check
    - pop_value
    - strdup
    - make_regexp_from_glob
    - nodeset_as_regexp
    - assert
    - make_value
    - STATE_ERROR
    - make_regexp_unescape
    linkageType: ''
    returnType: void
    signature: void func_regexp_or_glob(struct state *state, int glob, int nocase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:833,1
    - Dst: func_regexp_or_glob
      Src: /src/augeas/src/pathx.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 832
    functionDepth: 6
    functionLinenumber: 832
    functionLinenumberEnd: 835
    functionName: func_regexp
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - func_regexp_or_glob
    linkageType: ''
    returnType: void
    signature: void func_regexp(struct state *state, int nargs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:838,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:840,1
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:842,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:845,1
    - Dst: func_regexp_or_glob
      Src: /src/augeas/src/pathx.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 6
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: func_regexp_flag
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - func_regexp_or_glob
    - ensure_arity
    - STREQ
    - pop_value
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: void func_regexp_flag(struct state *state, int nargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_arity
      Src: /src/augeas/src/pathx.c:851,1
    - Dst: func_regexp_or_glob
      Src: /src/augeas/src/pathx.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - nargs
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 6
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: func_glob
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ensure_arity
    - func_regexp_or_glob
    linkageType: ''
    returnType: void
    signature: void func_glob(struct state *state, int nargs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:867,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct value*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 875
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 875
    functionName: coerce_to_bool
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool coerce_to_bool(struct value *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streqx
      Src: /src/augeas/src/pathx.c:884,1
    - Dst: streqx
      Src: /src/augeas/src/pathx.c:887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ns1
    - ns2
    - neq
    argTypes:
    - struct nodeset*
    - struct nodeset*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 893
    functionName: calc_eq_nodeset_nodeset
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - streqx
    linkageType: ''
    returnType: int
    signature: "int calc_eq_nodeset_nodeset(struct nodeset *ns1, struct nodeset *ns2,\n
      \                                  int neq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streqx
      Src: /src/augeas/src/pathx.c:900,1
    - Dst: streqx
      Src: /src/augeas/src/pathx.c:903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ns
    - s
    - neq
    argTypes:
    - struct nodeset*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 908
    functionName: calc_eq_nodeset_string
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - streqx
    linkageType: ''
    returnType: int
    signature: "int calc_eq_nodeset_string(struct nodeset *ns, const char *s,\n                                  int
      neq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:911,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:912,1
    - Dst: calc_eq_nodeset_nodeset
      Src: /src/augeas/src/pathx.c:916,1
    - Dst: calc_eq_nodeset_string
      Src: /src/augeas/src/pathx.c:918,1
    - Dst: calc_eq_nodeset_string
      Src: /src/augeas/src/pathx.c:920,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:927,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:928,1
    - Dst: streqx
      Src: /src/augeas/src/pathx.c:929,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:935,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - state
    - neq
    argTypes:
    - struct state*
    - int
    assertStmts:
    - condition: (l->tag == T_STRING)
      pos:
        line_end: 926
        line_start: 926
        source_file: /src/augeas/src/pathx.c
    - condition: (r->tag == T_STRING)
      pos:
        line_end: 927
        line_start: 927
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 936
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 936
    functionName: eval_eq
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_boolean_value
    - calc_eq_nodeset_nodeset
    - streqx
    - pop_value
    - calc_eq_nodeset_string
    - assert
    linkageType: ''
    returnType: void
    signature: void eval_eq(struct state *state, int neq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:939,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:940,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:941,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:944,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:945,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:956,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - state
    - op
    argTypes:
    - struct state*
    - enum binary_op
    assertStmts:
    - condition: (l->tag == T_NUMBER)
      pos:
        line_end: 943
        line_start: 943
        source_file: /src/augeas/src/pathx.c
    - condition: (r->tag == T_NUMBER)
      pos:
        line_end: 944
        line_start: 944
        source_file: /src/augeas/src/pathx.c
    - condition: (0)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 960
      start: 938
    functionDepth: 3
    functionLinenumber: 938
    functionLinenumberEnd: 960
    functionName: eval_arith
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_value
    - pop_value
    - assert
    - make_value
    linkageType: ''
    returnType: void
    signature: void eval_arith(struct state *state, enum binary_op op)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:968,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:969,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:971,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:972,1
    - Dst: strcmp
      Src: /src/augeas/src/pathx.c:980,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:986,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:989,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - state
    - greater
    - equal
    argTypes:
    - struct state*
    - bool
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 990
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 990
    functionName: eval_rel
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_boolean_value
    - pop_value
    - assert
    - strcmp
    linkageType: ''
    returnType: void
    signature: void eval_rel(struct state *state, bool greater, bool equal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:993,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:994,1
    - Dst: coerce_to_bool
      Src: /src/augeas/src/pathx.c:995,1
    - Dst: coerce_to_bool
      Src: /src/augeas/src/pathx.c:996,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:1000,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:1002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - state
    - op
    argTypes:
    - struct state*
    - enum binary_op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 992
    functionDepth: 3
    functionLinenumber: 992
    functionLinenumberEnd: 1003
    functionName: eval_and_or
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_boolean_value
    - pop_value
    - coerce_to_bool
    linkageType: ''
    returnType: void
    signature: void eval_and_or(struct state *state, enum binary_op op)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1006,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1007,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:1013,1
    - Dst: clone_nodeset
      Src: /src/augeas/src/pathx.c:1016,1
    - Dst: clone_nodeset
      Src: /src/augeas/src/pathx.c:1022,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:1031,1
    - Dst: free_nodeset
      Src: /src/augeas/src/pathx.c:1034,1
    - Dst: FREE
      Src: /src/augeas/src/pathx.c:1035,1
    - Dst: coerce_to_bool
      Src: /src/augeas/src/pathx.c:1038,1
    - Dst: coerce_to_bool
      Src: /src/augeas/src/pathx.c:1039,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:1044,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:1048,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - state
    - expr
    - lpt_right
    argTypes:
    - struct state*
    - struct expr*
    - struct locpath_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1051
    functionName: eval_else
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_boolean_value
    - push_value
    - coerce_to_bool
    - free_nodeset
    - clone_nodeset
    - FREE
    - pop_value
    - make_value
    linkageType: ''
    returnType: void
    signature: void eval_else(struct state *state, struct expr *expr, struct locpath_trace
      *lpt_right)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regexp_match
      Src: /src/augeas/src/pathx.c:1060,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1060,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1062,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1066,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - state
    - rx
    - str
    argTypes:
    - struct state*
    - struct regexp*
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1065
        line_start: 1065
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1069
      start: 1053
    functionDepth: 4
    functionLinenumber: 1053
    functionLinenumberEnd: 1069
    functionName: eval_re_match_str
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - regexp_match
    - assert
    - strlen
    - STATE_ERROR
    linkageType: ''
    returnType: bool
    signature: "bool eval_re_match_str(struct state *state, struct regexp *rx,\n                              const
      char *str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:1072,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1073,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1074,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1078,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1079,1
    - Dst: clone_nodeset
      Src: /src/augeas/src/pathx.c:1083,1
    - Dst: ns_add
      Src: /src/augeas/src/pathx.c:1086,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:1087,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:1091,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1094,1
    - Dst: free_nodeset
      Src: /src/augeas/src/pathx.c:1096,1
    - Dst: FREE
      Src: /src/augeas/src/pathx.c:1097,1
    - Dst: ns_clear_added
      Src: /src/augeas/src/pathx.c:1100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - state
    - lpt_right
    argTypes:
    - struct state*
    - struct locpath_trace*
    assertStmts:
    - condition: (r->tag == T_NODESET)
      pos:
        line_end: 1078
        line_start: 1078
        source_file: /src/augeas/src/pathx.c
    - condition: (l->tag == T_NODESET)
      pos:
        line_end: 1077
        line_start: 1077
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1101
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1101
    functionName: eval_union
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_value
    - HAS_ERROR
    - free_nodeset
    - clone_nodeset
    - FREE
    - ns_add
    - pop_value
    - ns_clear_added
    - assert
    - make_value
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: void eval_union(struct state *state, struct locpath_trace *lpt_right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:1104,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1105,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1106,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:1111,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1111,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1111,1
    - Dst: strcpy
      Src: /src/augeas/src/pathx.c:1115,1
    - Dst: strcat
      Src: /src/augeas/src/pathx.c:1116,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1103
    functionDepth: 3
    functionLinenumber: 1103
    functionLinenumberEnd: 1119
    functionName: eval_concat_string
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_value
    - strcat
    - ALLOC_N
    - strcpy
    - pop_value
    - strlen
    - make_value
    linkageType: ''
    returnType: void
    signature: void eval_concat_string(struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:1122,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1123,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1124,1
    - Dst: regexp_concat
      Src: /src/augeas/src/pathx.c:1129,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1137
    functionName: eval_concat_regexp
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_value
    - pop_value
    - regexp_concat
    - make_value
    linkageType: ''
    returnType: void
    signature: void eval_concat_regexp(struct state *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1140,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1141,1
    - Dst: eval_re_match_str
      Src: /src/augeas/src/pathx.c:1146,1
    - Dst: eval_re_match_str
      Src: /src/augeas/src/pathx.c:1151,1
    - Dst: push_boolean_value
      Src: /src/augeas/src/pathx.c:1157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - state
    - op
    argTypes:
    - struct state*
    - enum binary_op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1139
    functionDepth: 5
    functionLinenumber: 1139
    functionLinenumberEnd: 1158
    functionName: eval_re_match
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_boolean_value
    - pop_value
    - eval_re_match_str
    linkageType: ''
    returnType: void
    signature: void eval_re_match(struct state *state, enum binary_op op)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: eval_expr
      Src: /src/augeas/src/pathx.c:1164,1
    - Dst: MEMZERO
      Src: /src/augeas/src/pathx.c:1166,1
    - Dst: eval_expr
      Src: /src/augeas/src/pathx.c:1169,1
    - Dst: eval_eq
      Src: /src/augeas/src/pathx.c:1175,1
    - Dst: eval_eq
      Src: /src/augeas/src/pathx.c:1178,1
    - Dst: eval_rel
      Src: /src/augeas/src/pathx.c:1181,1
    - Dst: eval_rel
      Src: /src/augeas/src/pathx.c:1184,1
    - Dst: eval_rel
      Src: /src/augeas/src/pathx.c:1187,1
    - Dst: eval_rel
      Src: /src/augeas/src/pathx.c:1190,1
    - Dst: eval_arith
      Src: /src/augeas/src/pathx.c:1194,1
    - Dst: eval_concat_string
      Src: /src/augeas/src/pathx.c:1196,1
    - Dst: eval_concat_regexp
      Src: /src/augeas/src/pathx.c:1198,1
    - Dst: eval_arith
      Src: /src/augeas/src/pathx.c:1202,1
    - Dst: eval_and_or
      Src: /src/augeas/src/pathx.c:1206,1
    - Dst: eval_else
      Src: /src/augeas/src/pathx.c:1209,1
    - Dst: eval_union
      Src: /src/augeas/src/pathx.c:1212,1
    - Dst: eval_re_match
      Src: /src/augeas/src/pathx.c:1216,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1219,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1218
        line_start: 1218
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1221
      start: 1160
    functionDepth: 6
    functionLinenumber: 1160
    functionLinenumberEnd: 1221
    functionName: eval_binary
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - MEMZERO
    - eval_else
    - eval_expr
    - eval_union
    - eval_re_match
    - eval_concat_regexp
    - eval_arith
    - eval_eq
    - eval_rel
    - eval_and_or
    - assert
    - eval_concat_string
    linkageType: ''
    returnType: void
    signature: void eval_binary(struct expr *expr, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1224,1
    - Dst: eval_expr
      Src: /src/augeas/src/pathx.c:1227,1
    - Dst: struct expr*::func::impl
      Src: /src/augeas/src/pathx.c:1230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (expr->tag == E_APP)
      pos:
        line_end: 1223
        line_start: 1223
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1231
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1231
    functionName: eval_app
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - eval_expr
    - assert
    - struct expr*::func::impl
    linkageType: ''
    returnType: void
    signature: void eval_app(struct expr *expr, struct state *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eval_expr
      Src: /src/augeas/src/pathx.c:1234,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:1237,1
    - Dst: streqv
      Src: /src/augeas/src/pathx.c:1246,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1247
        line_start: 1247
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1251
      start: 1233
    functionDepth: 3
    functionLinenumber: 1233
    functionLinenumberEnd: 1251
    functionName: eval_pred
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - pop_value
    - eval_expr
    - streqv
    - assert
    linkageType: ''
    returnType: bool
    signature: bool eval_pred(struct expr *expr, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/augeas/src/pathx.c:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ns
    - ind
    - count
    argTypes:
    - struct nodeset*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1261
    functionName: ns_remove
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ns_remove(struct nodeset *ns, int ind, int count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eval_pred
      Src: /src/augeas/src/pathx.c:1281,1
    - Dst: eval_pred
      Src: /src/augeas/src/pathx.c:1289,1
    - Dst: ns_remove
      Src: /src/augeas/src/pathx.c:1297,1
    - Dst: ns_remove
      Src: /src/augeas/src/pathx.c:1310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - ns
    - predicates
    - state
    argTypes:
    - struct nodeset*
    - struct pred*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1266
    functionDepth: 4
    functionLinenumber: 1266
    functionLinenumberEnd: 1317
    functionName: ns_filter
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ns_remove
    - eval_pred
    linkageType: ''
    returnType: void
    signature: "void ns_filter(struct nodeset *ns, struct pred *predicates,\n                      struct
      state *state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pred
    argTypes:
    - struct pred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1325
    functionName: position_pred
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool position_pred(struct pred *pred)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: step_first
      Src: /src/augeas/src/pathx.c:1342,1
    - Dst: step_next
      Src: /src/augeas/src/pathx.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ns
    - step
    - state
    argTypes:
    - struct nodeset*
    - struct step*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1351
    functionName: position_filter
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - step_first
    - step_next
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *position_filter(struct nodeset *ns,\n                                    struct
      step *step,\n                                    struct state *state)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/pathx.c:1365,1
    - Dst: list_for_each
      Src: /src/augeas/src/pathx.c:1368,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:1370,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1371,1
    - Dst: make_nodeset
      Src: /src/augeas/src/pathx.c:1375,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:1376,1
    - Dst: step_root
      Src: /src/augeas/src/pathx.c:1385,1
    - Dst: ns_add
      Src: /src/augeas/src/pathx.c:1386,1
    - Dst: ns_clear_added
      Src: /src/augeas/src/pathx.c:1387,1
    - Dst: ns_add
      Src: /src/augeas/src/pathx.c:1390,1
    - Dst: ns_clear_added
      Src: /src/augeas/src/pathx.c:1391,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:1394,1
    - Dst: list_for_each
      Src: /src/augeas/src/pathx.c:1398,1
    - Dst: position_pred
      Src: /src/augeas/src/pathx.c:1401,1
    - Dst: position_filter
      Src: /src/augeas/src/pathx.c:1402,1
    - Dst: ns_add
      Src: /src/augeas/src/pathx.c:1404,1
    - Dst: ns_clear_added
      Src: /src/augeas/src/pathx.c:1405,1
    - Dst: step_first
      Src: /src/augeas/src/pathx.c:1409,1
    - Dst: step_next
      Src: /src/augeas/src/pathx.c:1411,1
    - Dst: ns_add
      Src: /src/augeas/src/pathx.c:1412,1
    - Dst: ns_clear_added
      Src: /src/augeas/src/pathx.c:1415,1
    - Dst: ns_filter
      Src: /src/augeas/src/pathx.c:1416,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:1417,1
    - Dst: free_nodeset
      Src: /src/augeas/src/pathx.c:1428,1
    - Dst: FREE
      Src: /src/augeas/src/pathx.c:1429,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 5
    argNames:
    - lp
    - maxns
    - ns
    - root
    - state
    argTypes:
    - struct locpath*
    - uint*
    - struct nodeset***
    - struct nodeset*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1358
    functionDepth: 5
    functionLinenumber: 1358
    functionLinenumberEnd: 1433
    functionName: ns_from_locpath
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ns_filter
    - HAS_ERROR
    - step_root
    - make_nodeset
    - ALLOC_N
    - position_filter
    - free_nodeset
    - FREE
    - ns_add
    - step_first
    - ensure
    - ns_clear_added
    - list_for_each
    - position_pred
    - step_next
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: "void ns_from_locpath(struct locpath *lp, uint *maxns,\n                            struct
      nodeset ***ns,\n                            const struct nodeset *root,\n                            struct
      state *state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_from_locpath
      Src: /src/augeas/src/pathx.c:1443,1
    - Dst: eval_expr
      Src: /src/augeas/src/pathx.c:1445,1
    - Dst: pop_value_ind
      Src: /src/augeas/src/pathx.c:1447,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1449,1
    - Dst: ns_filter
      Src: /src/augeas/src/pathx.c:1450,1
    - Dst: ns_from_locpath
      Src: /src/augeas/src/pathx.c:1453,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:1457,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:1460,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1463,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1464,1
    - Dst: free_nodeset
      Src: /src/augeas/src/pathx.c:1471,1
    - Dst: FREE
      Src: /src/augeas/src/pathx.c:1472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (primary->tag == T_NODESET)
      pos:
        line_end: 1448
        line_start: 1448
        source_file: /src/augeas/src/pathx.c
    - condition: (lpt->ns == NULL)
      pos:
        line_end: 1462
        line_start: 1462
        source_file: /src/augeas/src/pathx.c
    - condition: (lpt->lp == NULL)
      pos:
        line_end: 1463
        line_start: 1463
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1474
      start: 1435
    functionDepth: 6
    functionLinenumber: 1435
    functionLinenumberEnd: 1474
    functionName: eval_filter
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ns_filter
    - push_value
    - free_nodeset
    - eval_expr
    - FREE
    - ns_from_locpath
    - assert
    - make_value
    - pop_value_ind
    linkageType: ''
    returnType: void
    signature: void eval_filter(struct expr *expr, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ident
    - symtab
    argTypes:
    - char*
    - struct pathx_symtab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1483
    functionName: lookup_var
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: struct value
    signature: "struct value *lookup_var(const char *ident,\n                                const
      struct pathx_symtab *symtab)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1481
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 59
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: void
    signature: void list_for_each(tab, symtab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_var
      Src: /src/augeas/src/pathx.c:1486,1
    - Dst: clone_value
      Src: /src/augeas/src/pathx.c:1487,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1485
    functionDepth: 3
    functionLinenumber: 1485
    functionLinenumberEnd: 1490
    functionName: eval_var
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - clone_value
    - push_value
    - lookup_var
    linkageType: ''
    returnType: void
    signature: void eval_var(struct expr *expr, struct state *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eval_filter
      Src: /src/augeas/src/pathx.c:1496,1
    - Dst: eval_binary
      Src: /src/augeas/src/pathx.c:1499,1
    - Dst: push_value
      Src: /src/augeas/src/pathx.c:1502,1
    - Dst: eval_var
      Src: /src/augeas/src/pathx.c:1505,1
    - Dst: eval_app
      Src: /src/augeas/src/pathx.c:1508,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:1513,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:1514,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1521,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1520
        line_start: 1520
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1523
      start: 1492
    functionDepth: 7
    functionLinenumber: 1492
    functionLinenumberEnd: 1523
    functionName: eval_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 4
    functionsReached:
    - push_value
    - eval_filter
    - eval_app
    - eval_binary
    - eval_var
    - free_expr
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void eval_expr(struct expr *expr, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_expr
      Src: /src/augeas/src/pathx.c:1543,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pred
    - state
    argTypes:
    - struct pred*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1551
    functionName: check_preds
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STATE_ERROR
    - check_expr
    linkageType: ''
    returnType: void
    signature: void check_preds(struct pred *pred, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1554,1
    - Dst: check_expr
      Src: /src/augeas/src/pathx.c:1558,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1560,1
    - Dst: check_preds
      Src: /src/augeas/src/pathx.c:1563,1
    - Dst: list_for_each
      Src: /src/augeas/src/pathx.c:1566,1
    - Dst: check_preds
      Src: /src/augeas/src/pathx.c:1567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (expr->tag == E_FILTER)
      pos:
        line_end: 1553
        line_start: 1553
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1571
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1571
    functionName: check_filter
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - check_preds
    - list_for_each
    - check_expr
    - assert
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: void check_filter(struct expr *expr, struct state *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1574,1
    - Dst: check_expr
      Src: /src/augeas/src/pathx.c:1577,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/pathx.c:1582,1
    - Dst: STRNEQ
      Src: /src/augeas/src/pathx.c:1584,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/pathx.c:1600,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1616,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (expr->tag == E_APP)
      pos:
        line_end: 1573
        line_start: 1573
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1618
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1618
    functionName: check_app
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ARRAY_CARDINALITY
    - STRNEQ
    - check_expr
    - assert
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: void check_app(struct expr *expr, struct state *state)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: check_expr
      Src: /src/augeas/src/pathx.c:1644,1
    - Dst: check_expr
      Src: /src/augeas/src/pathx.c:1645,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1701,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1704,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1700
        line_start: 1700
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1708
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1708
    functionName: check_binary
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STATE_ERROR
    - assert
    - check_expr
    linkageType: ''
    returnType: void
    signature: void check_binary(struct expr *expr, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_var
      Src: /src/augeas/src/pathx.c:1711,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1710
    functionDepth: 2
    functionLinenumber: 1710
    functionLinenumberEnd: 1717
    functionName: check_var
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - lookup_var
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: void check_var(struct expr *expr, struct state *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_filter
      Src: /src/augeas/src/pathx.c:1724,1
    - Dst: check_binary
      Src: /src/augeas/src/pathx.c:1727,1
    - Dst: expr_value
      Src: /src/augeas/src/pathx.c:1730,1
    - Dst: check_var
      Src: /src/augeas/src/pathx.c:1733,1
    - Dst: check_app
      Src: /src/augeas/src/pathx.c:1736,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1738
        line_start: 1738
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1741
      start: 1720
    functionDepth: 3
    functionLinenumber: 1720
    functionLinenumberEnd: 1741
    functionName: check_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 4
    functionsReached:
    - check_filter
    - expr_value
    - check_app
    - check_binary
    - assert
    - check_var
    linkageType: ''
    returnType: void
    signature: void check_expr(struct expr *expr, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/augeas/src/pathx.c:1748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1749
    functionName: skipws
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 8
    functionsReached:
    - isspace
    linkageType: ''
    returnType: void
    signature: void skipws(struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:1752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - state
    - m
    argTypes:
    - struct state*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1761
    functionName: match
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 56
    functionsReached:
    - skipws
    linkageType: ''
    returnType: int
    signature: int match(struct state *state, char m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/pathx.c:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - chars
    argTypes:
    - struct state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1765
    functionName: peek
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 4
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int peek(struct state *state, const char *chars)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREQLEN
      Src: /src/augeas/src/pathx.c:1774,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1774,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1775,1
    - Dst: isspace
      Src: /src/augeas/src/pathx.c:1776,1
    - Dst: STREQLEN
      Src: /src/augeas/src/pathx.c:1777,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1777,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - state
    - token
    - follow
    argTypes:
    - struct state*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1783
    functionName: looking_at
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached:
    - strlen
    - STREQLEN
    - isspace
    linkageType: ''
    returnType: int
    signature: "int looking_at(struct state *state, const char *token,\n                      const
      char *follow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1796,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:1797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1796
        line_start: 1796
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 1800
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1800
    functionName: pop_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - assert
    - STATE_ERROR
    linkageType: ''
    returnType: struct expr
    signature: struct expr * pop_expr(struct state *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/pathx.c:1806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - struct expr*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1802
    functionDepth: 1
    functionLinenumber: 1802
    functionLinenumberEnd: 1813
    functionName: push_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    linkageType: ''
    returnType: void
    signature: void push_expr(struct expr *expr, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:1817,1
    - Dst: pop_expr
      Src: /src/augeas/src/pathx.c:1824,1
    - Dst: pop_expr
      Src: /src/augeas/src/pathx.c:1825,1
    - Dst: push_expr
      Src: /src/augeas/src/pathx.c:1827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - op
    - state
    argTypes:
    - enum binary_op
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1815
    functionDepth: 2
    functionLinenumber: 1815
    functionLinenumberEnd: 1828
    functionName: push_new_binary_op
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - pop_expr
    - ALLOC
    - push_expr
    linkageType: ''
    returnType: void
    signature: void push_new_binary_op(enum binary_op op, struct state *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/pathx.c:1838,1
    - Dst: isspace
      Src: /src/augeas/src/pathx.c:1838,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:1845,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1845,1
    - Dst: strchr
      Src: /src/augeas/src/pathx.c:1849,1
    - Dst: isspace
      Src: /src/augeas/src/pathx.c:1849,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1855
    functionName: pathx_escape_name
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 2
    functionsReached:
    - strlen
    - strchr
    - ALLOC_N
    - isspace
    linkageType: ''
    returnType: int
    signature: int pathx_escape_name(const char *in, char **out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pos
    - start
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1865
    functionName: backslash_escaped
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool backslash_escaped(const char *pos, const char *start)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/pathx.c:1878,1
    - Dst: STREQLEN
      Src: /src/augeas/src/pathx.c:1884,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1884,1
    - Dst: STREQLEN
      Src: /src/augeas/src/pathx.c:1885,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1885,1
    - Dst: STREQLEN
      Src: /src/augeas/src/pathx.c:1886,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:1886,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1892,1
    - Dst: isspace
      Src: /src/augeas/src/pathx.c:1903,1
    - Dst: backslash_escaped
      Src: /src/augeas/src/pathx.c:1904,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1910,1
    - Dst: strndup
      Src: /src/augeas/src/pathx.c:1914,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1929
    functionName: parse_name
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - backslash_escaped
    - STREQLEN
    - strndup
    - strchr
    - strlen
    - STATE_ERROR
    - isspace
    linkageType: ''
    returnType: char
    signature: char *parse_name(struct state *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/augeas/src/pathx.c:1938,1
    - Dst: parse_expr
      Src: /src/augeas/src/pathx.c:1939,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:1943,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:1944,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:1947,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:1953,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:1959,1
    - Dst: free_pred
      Src: /src/augeas/src/pathx.c:1960,1
    - Dst: pop_expr
      Src: /src/augeas/src/pathx.c:1966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1934
    functionDepth: 2
    functionLinenumber: 1934
    functionLinenumberEnd: 1969
    functionName: parse_predicates
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STATE_ERROR
    - ALLOC_N
    - free_pred
    - skipws
    - parse_expr
    - pop_expr
    - match
    - ALLOC
    linkageType: ''
    returnType: struct pred
    signature: struct pred *parse_predicates(struct state *state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:1987,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/pathx.c:1993,1
    - Dst: looking_at
      Src: /src/augeas/src/pathx.c:1994,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2001,1
    - Dst: parse_name
      Src: /src/augeas/src/pathx.c:2002,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2003,1
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:2006,1
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:2006,1
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:2007,1
    - Dst: FREE
      Src: /src/augeas/src/pathx.c:2008,1
    - Dst: parse_predicates
      Src: /src/augeas/src/pathx.c:2015,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2016,1
    - Dst: free_step
      Src: /src/augeas/src/pathx.c:2023,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 1983
    functionDepth: 3
    functionLinenumber: 1983
    functionLinenumberEnd: 2025
    functionName: parse_step
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - looking_at
    - HAS_ERROR
    - free_step
    - parse_name
    - ARRAY_CARDINALITY
    - STREQ
    - FREE
    - match
    - parse_predicates
    - ALLOC
    linkageType: ''
    returnType: struct step
    signature: struct step *parse_step(struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - axis
    - state
    argTypes:
    - enum axis
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2036
    functionName: make_step
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ALLOC
    linkageType: ''
    returnType: struct step
    signature: struct step *make_step(enum axis axis, struct state *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_step
      Src: /src/augeas/src/pathx.c:2052,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2053,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2056,1
    - Dst: list_append
      Src: /src/augeas/src/pathx.c:2060,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2063,1
    - Dst: make_step
      Src: /src/augeas/src/pathx.c:2066,1
    - Dst: list_append
      Src: /src/augeas/src/pathx.c:2071,1
    - Dst: parse_step
      Src: /src/augeas/src/pathx.c:2073,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2074,1
    - Dst: list_append
      Src: /src/augeas/src/pathx.c:2076,1
    - Dst: free_step
      Src: /src/augeas/src/pathx.c:2082,1
    - Dst: free_locpath
      Src: /src/augeas/src/pathx.c:2083,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2047
    functionDepth: 4
    functionLinenumber: 2047
    functionLinenumberEnd: 2085
    functionName: parse_relative_location_path
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - HAS_ERROR
    - list_append
    - parse_step
    - free_step
    - free_locpath
    - match
    - make_step
    - ALLOC
    linkageType: ''
    returnType: struct locpath
    signature: 'struct locpath *

      parse_relative_location_path(struct state *state)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/augeas/src/pathx.c:2098,1
    - Dst: parse_relative_location_path
      Src: /src/augeas/src/pathx.c:2101,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2102,1
    - Dst: make_step
      Src: /src/augeas/src/pathx.c:2104,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2105,1
    - Dst: list_cons
      Src: /src/augeas/src/pathx.c:2107,1
    - Dst: parse_relative_location_path
      Src: /src/augeas/src/pathx.c:2110,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2112,1
    - Dst: make_step
      Src: /src/augeas/src/pathx.c:2115,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2116,1
    - Dst: free_step
      Src: /src/augeas/src/pathx.c:2117,1
    - Dst: list_cons
      Src: /src/augeas/src/pathx.c:2120,1
    - Dst: parse_relative_location_path
      Src: /src/augeas/src/pathx.c:2123,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2126,1
    - Dst: push_expr
      Src: /src/augeas/src/pathx.c:2130,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:2136,1
    - Dst: free_locpath
      Src: /src/augeas/src/pathx.c:2137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2094
    functionDepth: 5
    functionLinenumber: 2094
    functionLinenumberEnd: 2139
    functionName: parse_location_path
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - HAS_ERROR
    - free_step
    - free_expr
    - push_expr
    - free_locpath
    - match
    - list_cons
    - make_step
    - ALLOC
    - parse_relative_location_path
    linkageType: ''
    returnType: void
    signature: void parse_location_path(struct state *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/augeas/src/pathx.c:2150,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2152,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2158,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:2161,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2162,1
    - Dst: expr_value
      Src: /src/augeas/src/pathx.c:2164,1
    - Dst: push_expr
      Src: /src/augeas/src/pathx.c:2166,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:2172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2144
    functionDepth: 4
    functionLinenumber: 2144
    functionLinenumberEnd: 2174
    functionName: parse_number
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STATE_ERROR
    - HAS_ERROR
    - strtoul
    - expr_value
    - free_expr
    - make_value
    - ALLOC
    - push_expr
    linkageType: ''
    returnType: void
    signature: void parse_number(struct state *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2189,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2198,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2203,1
    - Dst: make_value
      Src: /src/augeas/src/pathx.c:2206,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2207,1
    - Dst: expr_value
      Src: /src/augeas/src/pathx.c:2209,1
    - Dst: strndup
      Src: /src/augeas/src/pathx.c:2209,1
    - Dst: expr_value
      Src: /src/augeas/src/pathx.c:2210,1
    - Dst: push_expr
      Src: /src/augeas/src/pathx.c:2213,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:2219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2179
    functionDepth: 4
    functionLinenumber: 2179
    functionLinenumberEnd: 2221
    functionName: parse_literal
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STATE_ERROR
    - HAS_ERROR
    - expr_value
    - strndup
    - free_expr
    - make_value
    - ALLOC
    - push_expr
    linkageType: ''
    returnType: void
    signature: void parse_literal(struct state *state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/pathx.c:2231,1
    - Dst: looking_at
      Src: /src/augeas/src/pathx.c:2232,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2238,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2242,1
    - Dst: parse_expr
      Src: /src/augeas/src/pathx.c:2245,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2247,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2249,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2250,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/pathx.c:2256,1
    - Dst: STRNEQ
      Src: /src/augeas/src/pathx.c:2257,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2267,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2271,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:2276,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:2277,1
    - Dst: pop_expr
      Src: /src/augeas/src/pathx.c:2283,1
    - Dst: push_expr
      Src: /src/augeas/src/pathx.c:2285,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2226
    functionDepth: 4
    functionLinenumber: 2226
    functionLinenumberEnd: 2286
    functionName: parse_function_call
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - looking_at
    - ALLOC
    - ALLOC_N
    - ARRAY_CARDINALITY
    - parse_expr
    - STRNEQ
    - pop_expr
    - match
    - free_expr
    - STATE_ERROR
    - push_expr
    linkageType: ''
    returnType: void
    signature: void parse_function_call(struct state *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/augeas/src/pathx.c:2297,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2298,1
    - Dst: isalpha
      Src: /src/augeas/src/pathx.c:2302,1
    - Dst: isdigit
      Src: /src/augeas/src/pathx.c:2302,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2305,1
    - Dst: strndup
      Src: /src/augeas/src/pathx.c:2308,1
    - Dst: push_expr
      Src: /src/augeas/src/pathx.c:2312,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:2317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2293
    functionDepth: 4
    functionLinenumber: 2293
    functionLinenumberEnd: 2319
    functionName: parse_var
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - strndup
    - isdigit
    - isalpha
    - free_expr
    - STATE_ERROR
    - push_expr
    linkageType: ''
    returnType: void
    signature: void parse_var(struct state *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/augeas/src/pathx.c:2330,1
    - Dst: parse_literal
      Src: /src/augeas/src/pathx.c:2331,1
    - Dst: peek
      Src: /src/augeas/src/pathx.c:2332,1
    - Dst: parse_number
      Src: /src/augeas/src/pathx.c:2333,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2334,1
    - Dst: parse_expr
      Src: /src/augeas/src/pathx.c:2335,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2337,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2338,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2341,1
    - Dst: parse_var
      Src: /src/augeas/src/pathx.c:2342,1
    - Dst: parse_function_call
      Src: /src/augeas/src/pathx.c:2344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2329
    functionDepth: 5
    functionLinenumber: 2329
    functionLinenumberEnd: 2346
    functionName: parse_primary_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - peek
    - parse_var
    - parse_expr
    - parse_number
    - parse_literal
    - parse_function_call
    - match
    - STATE_ERROR
    linkageType: ''
    returnType: void
    signature: void parse_primary_expr(struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/augeas/src/pathx.c:2351,1
    - Dst: isalpha
      Src: /src/augeas/src/pathx.c:2357,1
    - Dst: isspace
      Src: /src/augeas/src/pathx.c:2358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2360
    functionName: looking_at_primary_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - peek
    - isalpha
    - isspace
    linkageType: ''
    returnType: int
    signature: int looking_at_primary_expr(struct state *state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: looking_at_primary_expr
      Src: /src/augeas/src/pathx.c:2382,1
    - Dst: parse_primary_expr
      Src: /src/augeas/src/pathx.c:2383,1
    - Dst: parse_predicates
      Src: /src/augeas/src/pathx.c:2385,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2387,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2388,1
    - Dst: parse_relative_location_path
      Src: /src/augeas/src/pathx.c:2389,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2390,1
    - Dst: make_step
      Src: /src/augeas/src/pathx.c:2393,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2394,1
    - Dst: list_cons
      Src: /src/augeas/src/pathx.c:2396,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2399,1
    - Dst: parse_relative_location_path
      Src: /src/augeas/src/pathx.c:2402,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2414,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2416,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2420,1
    - Dst: pop_expr
      Src: /src/augeas/src/pathx.c:2424,1
    - Dst: push_expr
      Src: /src/augeas/src/pathx.c:2426,1
    - Dst: parse_location_path
      Src: /src/augeas/src/pathx.c:2428,1
    - Dst: free_expr
      Src: /src/augeas/src/pathx.c:2432,1
    - Dst: free_pred
      Src: /src/augeas/src/pathx.c:2433,1
    - Dst: free_locpath
      Src: /src/augeas/src/pathx.c:2434,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2377
    functionDepth: 6
    functionLinenumber: 2377
    functionLinenumberEnd: 2436
    functionName: parse_path_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - HAS_ERROR
    - ALLOC
    - parse_primary_expr
    - free_pred
    - looking_at_primary_expr
    - free_expr
    - push_expr
    - free_locpath
    - pop_expr
    - match
    - parse_location_path
    - list_cons
    - make_step
    - parse_predicates
    - STATE_ERROR
    - parse_relative_location_path
    linkageType: ''
    returnType: void
    signature: void parse_path_expr(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_path_expr
      Src: /src/augeas/src/pathx.c:2442,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2444,1
    - Dst: parse_path_expr
      Src: /src/augeas/src/pathx.c:2445,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2441
    functionDepth: 7
    functionLinenumber: 2441
    functionLinenumberEnd: 2449
    functionName: parse_union_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - parse_path_expr
    - push_new_binary_op
    - match
    linkageType: ''
    returnType: void
    signature: void parse_union_expr(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_union_expr
      Src: /src/augeas/src/pathx.c:2455,1
    - Dst: match
      Src: /src/augeas/src/pathx.c:2457,1
    - Dst: parse_union_expr
      Src: /src/augeas/src/pathx.c:2458,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2454
    functionDepth: 8
    functionLinenumber: 2454
    functionLinenumberEnd: 2462
    functionName: parse_multiplicative_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - parse_union_expr
    - push_new_binary_op
    - match
    linkageType: ''
    returnType: void
    signature: void parse_multiplicative_expr(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_multiplicative_expr
      Src: /src/augeas/src/pathx.c:2469,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2474,1
    - Dst: parse_multiplicative_expr
      Src: /src/augeas/src/pathx.c:2475,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2468
    functionDepth: 9
    functionLinenumber: 2468
    functionLinenumberEnd: 2479
    functionName: parse_additive_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - skipws
    - parse_multiplicative_expr
    - push_new_binary_op
    linkageType: ''
    returnType: void
    signature: void parse_additive_expr(struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_additive_expr
      Src: /src/augeas/src/pathx.c:2486,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2495,1
    - Dst: parse_additive_expr
      Src: /src/augeas/src/pathx.c:2496,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2485
    functionDepth: 10
    functionLinenumber: 2485
    functionLinenumberEnd: 2500
    functionName: parse_relational_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - parse_additive_expr
    - skipws
    - push_new_binary_op
    linkageType: ''
    returnType: void
    signature: void parse_relational_expr(struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_relational_expr
      Src: /src/augeas/src/pathx.c:2509,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2514,1
    - Dst: parse_relational_expr
      Src: /src/augeas/src/pathx.c:2515,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2517,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2522,1
    - Dst: parse_relational_expr
      Src: /src/augeas/src/pathx.c:2523,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2508
    functionDepth: 11
    functionLinenumber: 2508
    functionLinenumberEnd: 2527
    functionName: parse_equality_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - parse_relational_expr
    - skipws
    - push_new_binary_op
    linkageType: ''
    returnType: void
    signature: void parse_equality_expr(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_equality_expr
      Src: /src/augeas/src/pathx.c:2533,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2538,1
    - Dst: parse_equality_expr
      Src: /src/augeas/src/pathx.c:2539,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2532
    functionDepth: 12
    functionLinenumber: 2532
    functionLinenumberEnd: 2543
    functionName: parse_and_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - skipws
    - push_new_binary_op
    - parse_equality_expr
    linkageType: ''
    returnType: void
    signature: void parse_and_expr(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_and_expr
      Src: /src/augeas/src/pathx.c:2549,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2553,1
    - Dst: parse_and_expr
      Src: /src/augeas/src/pathx.c:2554,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2548
    functionDepth: 13
    functionLinenumber: 2548
    functionLinenumberEnd: 2558
    functionName: parse_or_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_new_binary_op
    - skipws
    - parse_and_expr
    linkageType: ''
    returnType: void
    signature: void parse_or_expr(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_or_expr
      Src: /src/augeas/src/pathx.c:2564,1
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2569,1
    - Dst: parse_or_expr
      Src: /src/augeas/src/pathx.c:2570,1
    - Dst: push_new_binary_op
      Src: /src/augeas/src/pathx.c:2572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2563
    functionDepth: 14
    functionLinenumber: 2563
    functionLinenumberEnd: 2575
    functionName: parse_else_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - push_new_binary_op
    - skipws
    - parse_or_expr
    linkageType: ''
    returnType: void
    signature: void parse_else_expr(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skipws
      Src: /src/augeas/src/pathx.c:2581,1
    - Dst: parse_else_expr
      Src: /src/augeas/src/pathx.c:2582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2580
    functionDepth: 15
    functionLinenumber: 2580
    functionLinenumberEnd: 2583
    functionName: parse_expr
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 3
    functionsReached:
    - skipws
    - parse_else_expr
    linkageType: ''
    returnType: void
    signature: void parse_expr(struct state *state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pathx_error
      Src: /src/augeas/src/pathx.c:2617,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:2620,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/pathx.c:2621,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:2621,1
    - Dst: strcat
      Src: /src/augeas/src/pathx.c:2623,1
    - Dst: strncat
      Src: /src/augeas/src/pathx.c:2624,1
    - Dst: strncat
      Src: /src/augeas/src/pathx.c:2628,1
    - Dst: strcat
      Src: /src/augeas/src/pathx.c:2630,1
    - Dst: strcat
      Src: /src/augeas/src/pathx.c:2631,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - pathx
    argTypes:
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2585
    functionDepth: 1
    functionLinenumber: 2585
    functionLinenumberEnd: 2638
    functionName: store_error
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 6
    functionsReached:
    - strcat
    - strncat
    - pathx_error
    - strlen
    - REALLOC_N
    linkageType: ''
    returnType: void
    signature: void store_error(struct pathx *pathx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2651,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:2657,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:2669,1
    - Dst: parse_expr
      Src: /src/augeas/src/pathx.c:2681,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2682,1
    - Dst: strlen
      Src: /src/augeas/src/pathx.c:2684,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2685,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2690,1
    - Dst: check_expr
      Src: /src/augeas/src/pathx.c:2695,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2696,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2700,1
    - Dst: store_error
      Src: /src/augeas/src/pathx.c:2705,1
    - Dst: free_pathx
      Src: /src/augeas/src/pathx.c:2708,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 7
    argNames:
    - tree
    - err
    - txt
    - need_nodeset
    - symtab
    - root_ctx
    - pathx
    argTypes:
    - struct tree*
    - struct error*
    - char*
    - bool
    - struct pathx_symtab*
    - struct tree*
    - struct pathx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2640
    functionDepth: 16
    functionLinenumber: 2640
    functionLinenumberEnd: 2713
    functionName: pathx_parse
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 3
    functionsReached:
    - STATE_ERROR
    - HAS_ERROR
    - ALLOC_N
    - parse_expr
    - store_error
    - strlen
    - check_expr
    - free_pathx
    - ALLOC
    linkageType: ''
    returnType: int
    signature: "int pathx_parse(const struct tree *tree,\n                struct error
      *err,\n                const char *txt,\n                bool need_nodeset,\n
      \               struct pathx_symtab *symtab,\n                struct tree *root_ctx,\n
      \               struct pathx **pathx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/augeas/src/pathx.c:2725,1
    - Dst: streqx
      Src: /src/augeas/src/pathx.c:2732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - step
    - tree
    argTypes:
    - struct step*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2719
    functionDepth: 2
    functionLinenumber: 2719
    functionLinenumberEnd: 2734
    functionName: step_matches
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - isdigit
    - streqx
    linkageType: ''
    returnType: bool
    signature: bool step_matches(struct step *step, struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pos
    argTypes:
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2744
    functionName: tree_prev
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tree
    signature: struct tree *tree_prev(struct tree *pos)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/pathx.c:2771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - step
    - ctx
    - root_ctx
    argTypes:
    - struct step*
    - struct tree*
    - struct tree*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2770
        line_start: 2770
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 2776
      start: 2748
    functionDepth: 0
    functionLinenumber: 2748
    functionLinenumberEnd: 2776
    functionName: step_root
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *step_root(struct step *step, struct tree *ctx,\n                              struct
      tree *root_ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tree_prev
      Src: /src/augeas/src/pathx.c:2800,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:2806,1
    - Dst: step_matches
      Src: /src/augeas/src/pathx.c:2810,1
    - Dst: step_next
      Src: /src/augeas/src/pathx.c:2812,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - step
    - ctx
    argTypes:
    - struct step*
    - struct tree*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2805
        line_start: 2805
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 2813
      start: 2778
    functionDepth: 3
    functionLinenumber: 2778
    functionLinenumberEnd: 2813
    functionName: step_first
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 2
    functionsReached:
    - step_matches
    - tree_prev
    - assert
    - step_next
    linkageType: ''
    returnType: struct tree
    signature: struct tree *step_first(struct step *step, struct tree *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tree_prev
      Src: /src/augeas/src/pathx.c:2850,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:2856,1
    - Dst: step_matches
      Src: /src/augeas/src/pathx.c:2858,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - step
    - ctx
    - node
    argTypes:
    - struct step*
    - struct tree*
    - struct tree*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2855
        line_start: 2855
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 2862
      start: 2815
    functionDepth: 3
    functionLinenumber: 2815
    functionLinenumberEnd: 2862
    functionName: step_next
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 3
    functionsReached:
    - step_matches
    - tree_prev
    - assert
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *step_next(struct step *step, struct tree *ctx,\n                              struct
      tree *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eval_expr
      Src: /src/augeas/src/pathx.c:2869,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2870,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2874,1
    - Dst: pop_value
      Src: /src/augeas/src/pathx.c:2877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pathx
    argTypes:
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2864
    functionDepth: 8
    functionLinenumber: 2864
    functionLinenumberEnd: 2878
    functionName: pathx_eval
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - pop_value
    - eval_expr
    - HAS_ERROR
    - STATE_ERROR
    linkageType: ''
    returnType: struct value
    signature: struct value *pathx_eval(struct pathx *pathx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pathx
    argTypes:
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2884
    functionName: pathx_next
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct tree
    signature: struct tree *pathx_next(struct pathx *pathx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pathx_eval
      Src: /src/augeas/src/pathx.c:2889,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2891,1
    - Dst: assert
      Src: /src/augeas/src/pathx.c:2893,1
    - Dst: store_error
      Src: /src/augeas/src/pathx.c:2902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pathx
    argTypes:
    - struct pathx*
    assertStmts:
    - condition: (v->tag == T_NODESET)
      pos:
        line_end: 2892
        line_start: 2892
        source_file: /src/augeas/src/pathx.c
    constantsTouched: []
    func_position:
      end: 2904
      start: 2887
    functionDepth: 9
    functionLinenumber: 2887
    functionLinenumberEnd: 2904
    functionName: pathx_first
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 11
    functionsReached:
    - HAS_ERROR
    - assert
    - pathx_eval
    - store_error
    linkageType: ''
    returnType: struct tree
    signature: struct tree *pathx_first(struct pathx *pathx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_nodeset
      Src: /src/augeas/src/pathx.c:2938,1
    - Dst: FREE
      Src: /src/augeas/src/pathx.c:2939,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - lpt
    - tmatch
    - smatch
    argTypes:
    - struct locpath_trace*
    - struct tree**
    - struct step**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2916
    functionDepth: 1
    functionLinenumber: 2916
    functionLinenumberEnd: 2941
    functionName: locpath_search
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free_nodeset
    - FREE
    linkageType: ''
    returnType: int
    signature: "int locpath_search(struct locpath_trace *lpt,\n                          struct
      tree **tmatch, struct step **smatch)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/pathx.c:2958,1
    - Dst: pathx_eval
      Src: /src/augeas/src/pathx.c:2960,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:2962,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2967,1
    - Dst: locpath_search
      Src: /src/augeas/src/pathx.c:2977,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:2979,1
    - Dst: step_seq_choose_name
      Src: /src/augeas/src/pathx.c:2994,1
    - Dst: make_tree
      Src: /src/augeas/src/pathx.c:2998,1
    - Dst: strdup
      Src: /src/augeas/src/pathx.c:2998,1
    - Dst: list_append
      Src: /src/augeas/src/pathx.c:3003,1
    - Dst: list_remove
      Src: /src/augeas/src/pathx.c:3015,1
    - Dst: free_tree
      Src: /src/augeas/src/pathx.c:3016,1
    - Dst: store_error
      Src: /src/augeas/src/pathx.c:3019,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - path
    - tree
    argTypes:
    - struct pathx*
    - struct tree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 2951
    functionDepth: 9
    functionLinenumber: 2951
    functionLinenumberEnd: 3021
    functionName: pathx_expand_tree
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 7
    functionsReached:
    - HAS_ERROR
    - list_append
    - MEMZERO
    - make_tree
    - step_seq_choose_name
    - store_error
    - locpath_search
    - strdup
    - free_tree
    - list_remove
    - pathx_eval
    - STATE_ERROR
    linkageType: ''
    returnType: int
    signature: int pathx_expand_tree(struct pathx *path, struct tree **tree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: step_seq_choose_name
      Src: /src/augeas/src/pathx.c:2994,1
    - Dst: make_tree
      Src: /src/augeas/src/pathx.c:2998,1
    - Dst: strdup
      Src: /src/augeas/src/pathx.c:2998,1
    - Dst: list_append
      Src: /src/augeas/src/pathx.c:3003,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2990
    functionDepth: 2
    functionLinenumber: 2990
    functionLinenumberEnd: 3005
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 60
    functionsReached:
    - make_tree
    - step_seq_choose_name
    - list_append
    - strdup
    linkageType: ''
    returnType: void
    signature: void list_for_each(s, step)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/augeas/src/pathx.c:3035,1
    - Dst: STATE_ERROR
      Src: /src/augeas/src/pathx.c:3040,1
    - Dst: asprintf
      Src: /src/augeas/src/pathx.c:3046,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - path
    - tree
    argTypes:
    - struct pathx*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3050
    functionName: step_seq_choose_name
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 2
    functionsReached:
    - asprintf
    - strtoul
    - STATE_ERROR
    linkageType: ''
    returnType: char
    signature: char *step_seq_choose_name(struct pathx *path, struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathx_first
      Src: /src/augeas/src/pathx.c:3053,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:3054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - tree
    argTypes:
    - struct pathx*
    - struct tree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3052
    functionDepth: 10
    functionLinenumber: 3052
    functionLinenumberEnd: 3057
    functionName: pathx_find_one
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 7
    functionsReached:
    - HAS_ERROR
    - pathx_first
    linkageType: ''
    returnType: int
    signature: int pathx_find_one(struct pathx *path, struct tree **tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3061
    functionName: err_of_pathx
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct error
    signature: struct error *err_of_pathx(struct pathx *px)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/pathx.c:3067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - path
    - txt
    - pos
    argTypes:
    - struct pathx*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3063
    functionDepth: 1
    functionLinenumber: 3063
    functionLinenumberEnd: 3079
    functionName: pathx_error
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 2
    functionsReached:
    - ARRAY_CARDINALITY
    linkageType: ''
    returnType: char
    signature: char *pathx_error(struct pathx *path, const char **txt, int *pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/pathx.c:3091,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:3096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - symtab
    - name
    - value
    argTypes:
    - struct pathx_symtab*
    - char*
    - struct value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3108
    functionName: make_symtab
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: struct pathx_symtab
    signature: "struct pathx_symtab *make_symtab(struct pathx_symtab *symtab, const
      char *name,\n             struct value *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/pathx.c:3115,1
    - Dst: release_value
      Src: /src/augeas/src/pathx.c:3116,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:3117,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:3118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - symtab
    argTypes:
    - struct pathx_symtab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3110
    functionDepth: 2
    functionLinenumber: 3110
    functionLinenumberEnd: 3120
    functionName: free_symtab
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached:
    - free
    - release_value
    linkageType: ''
    returnType: void
    signature: void free_symtab(struct pathx_symtab *symtab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pathx
    argTypes:
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3124
    functionName: pathx_get_symtab
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct pathx_symtab
    signature: struct pathx_symtab *pathx_get_symtab(struct pathx *pathx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each
      Src: /src/augeas/src/pathx.c:3130,1
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:3131,1
    - Dst: release_value
      Src: /src/augeas/src/pathx.c:3132,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:3133,1
    - Dst: make_symtab::make_symtab
      Src: /src/augeas/src/pathx.c:3143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - symtab
    - name
    - v
    argTypes:
    - struct pathx_symtab**
    - char*
    - struct value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3126
    functionDepth: 2
    functionLinenumber: 3126
    functionLinenumberEnd: 3151
    functionName: pathx_symtab_set
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 0
    functionsReached:
    - STREQ
    - list_for_each
    - release_value
    - free
    - make_symtab::make_symtab
    linkageType: ''
    returnType: int
    signature: "int pathx_symtab_set(struct pathx_symtab **symtab,\n                            const
      char *name, struct value *v)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pathx_eval
      Src: /src/augeas/src/pathx.c:3159,1
    - Dst: HAS_ERROR
      Src: /src/augeas/src/pathx.c:3160,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:3163,1
    - Dst: pathx_symtab_set
      Src: /src/augeas/src/pathx.c:3171,1
    - Dst: release_value
      Src: /src/augeas/src/pathx.c:3182,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:3183,1
    - Dst: release_value
      Src: /src/augeas/src/pathx.c:3184,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:3185,1
    - Dst: store_error
      Src: /src/augeas/src/pathx.c:3186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - symtab
    - name
    - px
    argTypes:
    - struct pathx_symtab**
    - char*
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3153
    functionDepth: 9
    functionLinenumber: 3153
    functionLinenumberEnd: 3188
    functionName: pathx_symtab_define
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 2
    functionsReached:
    - HAS_ERROR
    - store_error
    - free
    - release_value
    - pathx_symtab_set
    - pathx_eval
    - ALLOC
    linkageType: ''
    returnType: int
    signature: "int pathx_symtab_define(struct pathx_symtab **symtab,\n                        const
      char *name, struct pathx *px)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/pathx.c:3194,1
    - Dst: list_remove
      Src: /src/augeas/src/pathx.c:3198,1
    - Dst: free_symtab
      Src: /src/augeas/src/pathx.c:3199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - symtab
    - name
    argTypes:
    - struct pathx_symtab**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3190
    functionDepth: 3
    functionLinenumber: 3190
    functionLinenumberEnd: 3201
    functionName: pathx_symtab_undefine
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached:
    - list_remove
    - STREQ
    - free_symtab
    linkageType: ''
    returnType: int
    signature: int pathx_symtab_undefine(struct pathx_symtab **symtab, const char
      *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:3208,1
    - Dst: ALLOC
      Src: /src/augeas/src/pathx.c:3212,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/pathx.c:3214,1
    - Dst: pathx_symtab_set
      Src: /src/augeas/src/pathx.c:3220,1
    - Dst: release_value
      Src: /src/augeas/src/pathx.c:3225,1
    - Dst: free
      Src: /src/augeas/src/pathx.c:3226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - symtab
    - name
    - tree
    argTypes:
    - struct pathx_symtab**
    - char*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3203
    functionDepth: 3
    functionLinenumber: 3203
    functionLinenumberEnd: 3228
    functionName: pathx_symtab_assign_tree
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached:
    - ALLOC_N
    - release_value
    - pathx_symtab_set
    - free
    - ALLOC
    linkageType: ''
    returnType: int
    signature: "int pathx_symtab_assign_tree(struct pathx_symtab **symtab,\n                             const
      char *name, struct tree *tree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_var
      Src: /src/augeas/src/pathx.c:3232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - symtab
    - name
    argTypes:
    - struct pathx_symtab*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3230
    functionDepth: 2
    functionLinenumber: 3230
    functionLinenumberEnd: 3238
    functionName: pathx_symtab_count
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 1
    functionsReached:
    - lookup_var
    linkageType: ''
    returnType: int
    signature: int pathx_symtab_count(const struct pathx_symtab *symtab, const char
      *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_var
      Src: /src/augeas/src/pathx.c:3243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - symtab
    - name
    - i
    argTypes:
    - struct pathx_symtab*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3251
      start: 3240
    functionDepth: 2
    functionLinenumber: 3240
    functionLinenumberEnd: 3251
    functionName: pathx_symtab_get_tree
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 4
    functionsReached:
    - lookup_var
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *\npathx_symtab_get_tree(struct pathx_symtab *symtab,\n
      \                     const char *name, int i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_remove
      Src: /src/augeas/src/pathx.c:3264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - symtab
    - tree
    argTypes:
    - struct pathx_symtab*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3253
    functionDepth: 1
    functionLinenumber: 3253
    functionLinenumberEnd: 3269
    functionName: pathx_symtab_remove_descendants
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 3
    functionsReached:
    - ns_remove
    linkageType: ''
    returnType: void
    signature: "void pathx_symtab_remove_descendants(struct pathx_symtab *symtab,\n
      \                                    const struct tree *tree)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_remove
      Src: /src/augeas/src/pathx.c:3264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3255
    functionDepth: 1
    functionLinenumber: 3255
    functionLinenumberEnd: 3268
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/pathx.c
    functionUses: 61
    functionsReached:
    - ns_remove
    linkageType: ''
    returnType: void
    signature: void list_for_each(tab, symtab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:37,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:38,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:39,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:40,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:41,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:42,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:43,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:44,1
    - Dst: exit
      Src: /src/augeas/src/augparse.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: usage
    functionSourceFile: /src/augeas/src/augparse.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_get
      Src: /src/augeas/src/augparse.c:53,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:57,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:58,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:59,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:60,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:61,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:62,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:63,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - aug
    argTypes:
    - struct augeas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: print_version_info
    functionSourceFile: /src/augeas/src/augparse.c
    functionUses: 1
    functionsReached:
    - aug_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_version_info(struct augeas *aug)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/augeas/src/augparse.c:92,1
    - Dst: getopt_long
      Src: /src/augeas/src/augparse.c:93,1
    - Dst: argz_add
      Src: /src/augeas/src/augparse.c:96,1
    - Dst: usage
      Src: /src/augeas/src/augparse.c:102,1
    - Dst: usage
      Src: /src/augeas/src/augparse.c:114,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:120,1
    - Dst: usage
      Src: /src/augeas/src/augparse.c:121,1
    - Dst: argz_stringify
      Src: /src/augeas/src/augparse.c:124,1
    - Dst: aug_init
      Src: /src/augeas/src/augparse.c:125,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:127,1
    - Dst: print_version_info
      Src: /src/augeas/src/augparse.c:132,1
    - Dst: aug_close
      Src: /src/augeas/src/augparse.c:133,1
    - Dst: __aug_load_module_file
      Src: /src/augeas/src/augparse.c:137,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:138,1
    - Dst: aug_error_message
      Src: /src/augeas/src/augparse.c:138,1
    - Dst: aug_error_details
      Src: /src/augeas/src/augparse.c:139,1
    - Dst: fprintf
      Src: /src/augeas/src/augparse.c:141,1
    - Dst: aug_close
      Src: /src/augeas/src/augparse.c:143,1
    - Dst: exit
      Src: /src/augeas/src/augparse.c:144,1
    - Dst: aug_close
      Src: /src/augeas/src/augparse.c:147,1
    - Dst: free
      Src: /src/augeas/src/augparse.c:148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 69
    functionDepth: 11
    functionLinenumber: 69
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/augeas/src/augparse.c
    functionUses: 0
    functionsReached:
    - aug_close
    - print_version_info
    - __aug_load_module_file
    - fprintf
    - setlocale
    - getopt_long
    - usage
    - exit
    - aug_error_details
    - free
    - aug_init
    - argz_add
    - aug_error_message
    - argz_stringify
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/augrun.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cmd
    - name
    argTypes:
    - struct command*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: find_def
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: struct command_opt_def
    signature: 'struct command_opt_def *

      find_def(const struct command *cmd, const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_def
      Src: /src/augeas/src/augrun.c:103,1
    - Dst: assert
      Src: /src/augeas/src/augrun.c:104,1
    - Dst: assert
      Src: /src/augeas/src/augrun.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cmd
    - name
    argTypes:
    - struct command*
    - char*
    assertStmts:
    - condition: (def->optional)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/augeas/src/augrun.c
    - condition: (def != NULL)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/augeas/src/augrun.c
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: find_opt
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - assert
    - find_def
    linkageType: ''
    returnType: struct command_opt
    signature: 'struct command_opt *

      find_opt(const struct command *cmd, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_opt
      Src: /src/augeas/src/augrun.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - name
    argTypes:
    - struct command*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: arg_value
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - find_opt
    linkageType: ''
    returnType: char
    signature: char *arg_value(const struct command *cmd, const char *name)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: isblank
      Src: /src/augeas/src/augrun.c:129,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:171,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:180,1
    - Dst: isblank
      Src: /src/augeas/src/augrun.c:193,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:207,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:211,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    argCount: 3
    argNames:
    - cmd
    - line
    - path
    argTypes:
    - struct command*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 218
    functionName: nexttoken
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - isblank
    linkageType: ''
    returnType: char
    signature: char *nexttoken(struct command *cmd, char **line, bool path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/augrun.c:225,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augrun.c:226,1
    - Dst: list_append
      Src: /src/augeas/src/augrun.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - cmd
    - def
    argTypes:
    - struct command*
    - struct command_opt_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: make_command_opt
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - list_append
    - ERR_NOMEM
    - ALLOC
    linkageType: ''
    returnType: struct command_opt
    signature: 'struct command_opt *

      make_command_opt(struct command *cmd, const struct command_opt_def *def)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/augrun.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: free_command_opts
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_command_opts(struct command *cmd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nexttoken
      Src: /src/augeas/src/augrun.c:250,1
    - Dst: lookup_cmd_def
      Src: /src/augeas/src/augrun.c:253,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:255,1
    - Dst: isblank
      Src: /src/augeas/src/augrun.c:268,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:271,1
    - Dst: make_command_opt
      Src: /src/augeas/src/augrun.c:277,1
    - Dst: nexttoken
      Src: /src/augeas/src/augrun.c:282,1
    - Dst: cleanpath
      Src: /src/augeas/src/augrun.c:283,1
    - Dst: nexttoken
      Src: /src/augeas/src/augrun.c:285,1
    - Dst: isblank
      Src: /src/augeas/src/augrun.c:292,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - cmd
    - line
    argTypes:
    - struct command*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: parseline
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - nexttoken
    - lookup_cmd_def
    - isblank
    - cleanpath
    - make_command_opt
    linkageType: ''
    returnType: int
    signature: int parseline(struct command *cmd, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/augrun.c:307,1
    - Dst: printf
      Src: /src/augeas/src/augrun.c:310,1
    - Dst: putchar
      Src: /src/augeas/src/augrun.c:312,1
    - Dst: printf
      Src: /src/augeas/src/augrun.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: format_desc
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: void format_desc(const char *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/augeas/src/augrun.c:321,1
    - Dst: stpcpy
      Src: /src/augeas/src/augrun.c:323,1
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:324,1
    - Dst: toupper
      Src: /src/augeas/src/augrun.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - def
    - mark_optional
    argTypes:
    - char*
    - struct command_opt_def*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: format_defname
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - stpcpy
    - toupper
    - strlen
    linkageType: ''
    returnType: void
    signature: "void format_defname(char *buf, const struct command_opt_def *def,\n
      \                          bool mark_optional)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: cmd_quit
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmd_quit(ATTRIBUTE_UNUSED struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:368,1
    - Dst: xasprintf
      Src: /src/augeas/src/augrun.c:369,1
    - Dst: xasprintf
      Src: /src/augeas/src/augrun.c:371,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augrun.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cmd
    - path
    argTypes:
    - struct command*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: ls_pattern
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - xasprintf
    - ERR_NOMEM
    - strlen
    linkageType: ''
    returnType: char
    signature: char *ls_pattern(struct command *cmd, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ls_pattern
      Src: /src/augeas/src/augrun.c:378,1
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:383,1
    - Dst: HAS_ERR
      Src: /src/augeas/src/augrun.c:384,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cmd
    - path
    argTypes:
    - struct command*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 6
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: child_count
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 1
    functionsReached:
    - aug_match
    - free
    - HAS_ERR
    - ls_pattern
    linkageType: ''
    returnType: int
    signature: int child_count(struct command *cmd, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ls_pattern
      Src: /src/augeas/src/augrun.c:395,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:395,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:396,1
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:398,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:399,1
    - Dst: strrchr
      Src: /src/augeas/src/augrun.c:402,1
    - Dst: child_count
      Src: /src/augeas/src/augrun.c:403,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:404,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:405,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:409,1
    - Dst: FREE
      Src: /src/augeas/src/augrun.c:410,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:413,1
    - Dst: FREE
      Src: /src/augeas/src/augrun.c:415,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 417
    functionName: cmd_ls
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - fprintf
    - aug_match
    - FREE
    - ERR_BAIL
    - ls_pattern
    - strrchr
    - arg_value
    - free
    - child_count
    linkageType: ''
    returnType: void
    signature: void cmd_ls(struct command *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:435,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:436,1
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:438,1
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:440,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:441,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augrun.c:442,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:445,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:451,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:452,1
    - Dst: STREQ
      Src: /src/augeas/src/augrun.c:456,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:457,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:459,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:465,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 433
    functionDepth: 6
    functionLinenumber: 433
    functionLinenumberEnd: 467
    functionName: cmd_match
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - fprintf
    - aug_match
    - ERR_THROW
    - STREQ
    - ERR_BAIL
    - strlen
    - arg_value
    - free
    linkageType: ''
    returnType: void
    signature: void cmd_match(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:489,1
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:491,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:492,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augrun.c:493,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:496,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:498,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 6
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: cmd_count
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - fprintf
    - aug_match
    - ERR_THROW
    - ERR_BAIL
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_count(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:523,1
    - Dst: aug_rm
      Src: /src/augeas/src/augrun.c:524,1
    - Dst: HAS_ERR
      Src: /src/augeas/src/augrun.c:525,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 6
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: cmd_rm
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_rm
    - HAS_ERR
    - arg_value
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cmd_rm(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:544,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:545,1
    - Dst: aug_mv
      Src: /src/augeas/src/augrun.c:548,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 6
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: cmd_mv
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - aug_mv
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_mv(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:586,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:587,1
    - Dst: aug_cp
      Src: /src/augeas/src/augrun.c:590,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 6
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: cmd_cp
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - aug_cp
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_cp(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:628,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:629,1
    - Dst: aug_rename
      Src: /src/augeas/src/augrun.c:632,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:634,1
    - Dst: HAS_ERR
      Src: /src/augeas/src/augrun.c:636,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 627
    functionDepth: 6
    functionLinenumber: 627
    functionLinenumberEnd: 638
    functionName: cmd_rename
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ERR_REPORT
    - aug_rename
    - arg_value
    - HAS_ERR
    linkageType: ''
    returnType: void
    signature: void cmd_rename(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:660,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:661,1
    - Dst: aug_set
      Src: /src/augeas/src/augrun.c:664,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 659
    functionDepth: 6
    functionLinenumber: 659
    functionLinenumberEnd: 667
    functionName: cmd_set
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_set
    - ERR_REPORT
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_set(struct command *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:688,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:689,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:690,1
    - Dst: aug_setm
      Src: /src/augeas/src/augrun.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 6
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: cmd_setm
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_setm
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_setm(struct command *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:717,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:718,1
    - Dst: aug_setm
      Src: /src/augeas/src/augrun.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 716
    functionDepth: 6
    functionLinenumber: 716
    functionLinenumberEnd: 721
    functionName: cmd_clearm
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_setm
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_clearm(struct command *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:743,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:749,1
    - Dst: printf
      Src: /src/augeas/src/augrun.c:750,1
    - Dst: streqv
      Src: /src/augeas/src/augrun.c:753,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:754,1
    - Dst: streqv
      Src: /src/augeas/src/augrun.c:759,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:760,1
    - Dst: aug_span
      Src: /src/augeas/src/augrun.c:765,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augrun.c:767,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:769,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 742
    functionDepth: 6
    functionLinenumber: 742
    functionLinenumberEnd: 774
    functionName: cmd_span
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - aug_span
    - fprintf
    - ERR_THROW
    - ERR_REPORT
    - streqv
    - printf
    - arg_value
    - free
    linkageType: ''
    returnType: void
    signature: void cmd_span(struct command *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:791,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:792,1
    - Dst: aug_defvar
      Src: /src/augeas/src/augrun.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 7
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: cmd_defvar
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_defvar
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_defvar(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:817,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:818,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:819,1
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:822,1
    - Dst: aug_defnode
      Src: /src/augeas/src/augrun.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 7
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: cmd_defnode
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_defnode
    - strlen
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_defnode(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:849,1
    - Dst: aug_set
      Src: /src/augeas/src/augrun.c:852,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 848
    functionDepth: 6
    functionLinenumber: 848
    functionLinenumberEnd: 855
    functionName: cmd_clear
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_set
    - ERR_REPORT
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_clear(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:874,1
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:877,1
    - Dst: aug_set
      Src: /src/augeas/src/augrun.c:879,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 873
    functionDepth: 6
    functionLinenumber: 873
    functionLinenumberEnd: 883
    functionName: cmd_touch
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_match
    - aug_set
    - ERR_REPORT
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_touch(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:902,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:906,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:907,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:908,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:910,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:912,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 6
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: cmd_get
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - ERR_RET
    - arg_value
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cmd_get(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:933,1
    - Dst: aug_label
      Src: /src/augeas/src/augrun.c:937,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:938,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:939,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:941,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:943,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 932
    functionDepth: 6
    functionLinenumber: 932
    functionLinenumberEnd: 947
    functionName: cmd_label
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_RET
    - aug_label
    - arg_value
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cmd_label(struct command *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:964,1
    - Dst: aug_print
      Src: /src/augeas/src/augrun.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 963
    functionDepth: 6
    functionLinenumber: 963
    functionLinenumberEnd: 967
    functionName: cmd_print
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_print
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_print(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:984,1
    - Dst: aug_source
      Src: /src/augeas/src/augrun.c:987,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:988,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:990,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 983
    functionDepth: 6
    functionLinenumber: 983
    functionLinenumberEnd: 993
    functionName: cmd_source
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - fprintf
    - aug_source
    - arg_value
    - ERR_RET
    - free
    linkageType: ''
    returnType: void
    signature: void cmd_source(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1010,1
    - Dst: aug_preview
      Src: /src/augeas/src/augrun.c:1014,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1016,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1018,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1009
    functionDepth: 7
    functionLinenumber: 1009
    functionLinenumberEnd: 1021
    functionName: cmd_preview
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_preview
    - fprintf
    - ERR_REPORT
    - arg_value
    - free
    linkageType: ''
    returnType: void
    signature: void cmd_preview(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1039,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:1042,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:1043,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1045,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1047,1
    - Dst: aug_set
      Src: /src/augeas/src/augrun.c:1050,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1038
    functionDepth: 6
    functionLinenumber: 1038
    functionLinenumberEnd: 1053
    functionName: cmd_context
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - fprintf
    - aug_set
    - arg_value
    - ERR_RET
    linkageType: ''
    returnType: void
    signature: void cmd_context(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1070,1
    - Dst: aug_to_xml
      Src: /src/augeas/src/augrun.c:1074,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1076,1
    - Dst: xmlElemDump
      Src: /src/augeas/src/augrun.c:1079,1
    - Dst: printf
      Src: /src/augeas/src/augrun.c:1080,1
    - Dst: xmlFreeNode
      Src: /src/augeas/src/augrun.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1069
    functionDepth: 6
    functionLinenumber: 1069
    functionLinenumberEnd: 1083
    functionName: cmd_dump_xml
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_to_xml
    - xmlFreeNode
    - ERR_REPORT
    - xmlElemDump
    - printf
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_dump_xml(struct command *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1100,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1101,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1102,1
    - Dst: STREQ
      Src: /src/augeas/src/augrun.c:1105,1
    - Dst: STREQ
      Src: /src/augeas/src/augrun.c:1107,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1110,1
    - Dst: aug_transform
      Src: /src/augeas/src/augrun.c:1113,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1099
    functionDepth: 5
    functionLinenumber: 1099
    functionLinenumberEnd: 1117
    functionName: cmd_transform
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - STREQ
    - aug_transform
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_transform(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1145,1
    - Dst: aug_load_file
      Src: /src/augeas/src/augrun.c:1148,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1144
    functionDepth: 7
    functionLinenumber: 1144
    functionLinenumberEnd: 1152
    functionName: cmd_load_file
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - aug_load_file
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_load_file(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aug_save
      Src: /src/augeas/src/augrun.c:1173,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1175,1
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:1178,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1171
    functionDepth: 8
    functionLinenumber: 1171
    functionLinenumberEnd: 1183
    functionName: cmd_save
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_match
    - ERR_REPORT
    - aug_save
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cmd_save(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_load
      Src: /src/augeas/src/augrun.c:1199,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1197
    functionDepth: 8
    functionLinenumber: 1197
    functionLinenumberEnd: 1204
    functionName: cmd_load
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - aug_load
    linkageType: ''
    returnType: void
    signature: void cmd_load(struct command *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:1228,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:1229,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1231,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:1234,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:1235,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1237,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1240,1
    - Dst: argz_next
      Src: /src/augeas/src/augrun.c:1243,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1245,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1247,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1249,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:1251,1
    - Dst: ERR_RET
      Src: /src/augeas/src/augrun.c:1252,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1256,1
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:1258,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1224
    functionDepth: 6
    functionLinenumber: 1224
    functionLinenumberEnd: 1260
    functionName: cmd_info
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - fprintf
    - aug_match
    - argz_next
    - ERR_RET
    linkageType: ''
    returnType: void
    signature: void cmd_info(struct command *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1282,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1283,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1284,1
    - Dst: STREQ
      Src: /src/augeas/src/augrun.c:1287,1
    - Dst: STREQ
      Src: /src/augeas/src/augrun.c:1289,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/augrun.c:1292,1
    - Dst: aug_insert
      Src: /src/augeas/src/augrun.c:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1281
    functionDepth: 6
    functionLinenumber: 1281
    functionLinenumberEnd: 1298
    functionName: cmd_ins
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - ERR_REPORT
    - STREQ
    - aug_insert
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_ins(struct command *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1331,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1332,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1333,1
    - Dst: aug_text_store
      Src: /src/augeas/src/augrun.c:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1330
    functionDepth: 7
    functionLinenumber: 1330
    functionLinenumberEnd: 1336
    functionName: cmd_store
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - arg_value
    - aug_text_store
    linkageType: ''
    returnType: void
    signature: void cmd_store(struct command *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1360,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1361,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1362,1
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1363,1
    - Dst: aug_text_retrieve
      Src: /src/augeas/src/augrun.c:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1359
    functionDepth: 7
    functionLinenumber: 1359
    functionLinenumberEnd: 1366
    functionName: cmd_retrieve
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_text_retrieve
    - arg_value
    linkageType: ''
    returnType: void
    signature: void cmd_retrieve(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:1395,1
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:1395,1
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:1396,1
    - Dst: strndup
      Src: /src/augeas/src/augrun.c:1398,1
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:1398,1
    - Dst: strlen
      Src: /src/augeas/src/augrun.c:1398,1
    - Dst: strdup
      Src: /src/augeas/src/augrun.c:1400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - match
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1401
    functionName: err_filename
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - strndup
    linkageType: ''
    returnType: char
    signature: char *err_filename(const char *match)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pathjoin
      Src: /src/augeas/src/augrun.c:1409,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augrun.c:1410,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:1412,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:1413,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - aug
    - match
    - child
    argTypes:
    - struct augeas*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1403
    functionDepth: 6
    functionLinenumber: 1403
    functionLinenumberEnd: 1418
    functionName: err_get
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - pathjoin
    - ERR_BAIL
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: char
    signature: "char *err_get(struct augeas *aug,\n                           const
      char *match, const char *child)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: aug_match
      Src: /src/augeas/src/augrun.c:1425,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:1426,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augrun.c:1427,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1430,1
    - Dst: err_get
      Src: /src/augeas/src/augrun.c:1436,1
    - Dst: err_get
      Src: /src/augeas/src/augrun.c:1437,1
    - Dst: err_get
      Src: /src/augeas/src/augrun.c:1438,1
    - Dst: err_get
      Src: /src/augeas/src/augrun.c:1439,1
    - Dst: err_get
      Src: /src/augeas/src/augrun.c:1440,1
    - Dst: err_get
      Src: /src/augeas/src/augrun.c:1441,1
    - Dst: err_get
      Src: /src/augeas/src/augrun.c:1442,1
    - Dst: aug_get
      Src: /src/augeas/src/augrun.c:1445,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:1446,1
    - Dst: err_filename
      Src: /src/augeas/src/augrun.c:1448,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augrun.c:1449,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1452,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1455,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1458,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1460,1
    - Dst: FREE
      Src: /src/augeas/src/augrun.c:1462,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1465,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1467,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1469,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1471,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:1477,1
    - Dst: free
      Src: /src/augeas/src/augrun.c:1478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1420
    functionDepth: 7
    functionLinenumber: 1420
    functionLinenumberEnd: 1479
    functionName: cmd_errors
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - aug_get
    - fprintf
    - aug_match
    - ERR_THROW
    - err_get
    - FREE
    - ERR_BAIL
    - err_filename
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: void
    signature: void cmd_errors(struct command *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/augeas/src/augrun.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1592
    functionName: lookup_cmd_def
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 1
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: struct command_def
    signature: struct command_def *lookup_cmd_def(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: arg_value
      Src: /src/augeas/src/augrun.c:1595,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1600,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1602,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1605,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1607,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1609,1
    - Dst: lookup_cmd_def
      Src: /src/augeas/src/augrun.c:1612,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/augrun.c:1615,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1617,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1618,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1619,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1620,1
    - Dst: format_defname
      Src: /src/augeas/src/augrun.c:1623,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1624,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1626,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1627,1
    - Dst: format_desc
      Src: /src/augeas/src/augrun.c:1628,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1630,1
    - Dst: format_defname
      Src: /src/augeas/src/augrun.c:1635,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1636,1
    - Dst: fprintf
      Src: /src/augeas/src/augrun.c:1639,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1594
    functionDepth: 4
    functionLinenumber: 1594
    functionLinenumberEnd: 1643
    functionName: cmd_help
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ERR_THROW
    - format_defname
    - lookup_cmd_def
    - arg_value
    - format_desc
    linkageType: ''
    returnType: void
    signature: void cmd_help(struct command *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: api_entry
      Src: /src/augeas/src/augrun.c:1651,1
    - Dst: MEMZERO
      Src: /src/augeas/src/augrun.c:1653,1
    - Dst: strchrnul
      Src: /src/augeas/src/augrun.c:1662,1
    - Dst: isspace
      Src: /src/augeas/src/augrun.c:1663,1
    - Dst: strndup
      Src: /src/augeas/src/augrun.c:1671,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/augrun.c:1672,1
    - Dst: parseline
      Src: /src/augeas/src/augrun.c:1674,1
    - Dst: struct command::def::handler
      Src: /src/augeas/src/augrun.c:1675,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/augrun.c:1681,1
    - Dst: free_command_opts
      Src: /src/augeas/src/augrun.c:1687,1
    - Dst: FREE
      Src: /src/augeas/src/augrun.c:1688,1
    - Dst: free_command_opts
      Src: /src/augeas/src/augrun.c:1692,1
    - Dst: FREE
      Src: /src/augeas/src/augrun.c:1693,1
    - Dst: api_exit
      Src: /src/augeas/src/augrun.c:1695,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - aug
    - out
    - text
    argTypes:
    - augeas*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1645
    functionDepth: 3
    functionLinenumber: 1645
    functionLinenumberEnd: 1700
    functionName: aug_srun
    functionSourceFile: /src/augeas/src/augrun.c
    functionUses: 7
    functionsReached:
    - api_entry
    - strndup
    - MEMZERO
    - api_exit
    - parseline
    - FREE
    - ERR_BAIL
    - strchrnul
    - struct command::def::handler
    - free_command_opts
    - ERR_NOMEM
    - isspace
    linkageType: ''
    returnType: int
    signature: int aug_srun(augeas *aug, FILE *out, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - action
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: CHECK_OOM
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OOM(condition, action, arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:114,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:116,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:118,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: exit_oom
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void exit_oom(const char *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: cleanup_filepath
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_filepath(char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/src/augprint.c:163,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:164,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:167,1
    - Dst: aug_print
      Src: /src/augeas/src/augprint.c:168,1
    - Dst: aug_match
      Src: /src/augeas/src/augprint.c:170,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:172,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:173,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:180,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:182,1
    - Dst: free
      Src: /src/augeas/src/augprint.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 187
    functionName: find_lens_for_path
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - fprintf
    - aug_match
    - exit
    - CHECK_OOM
    - asprintf
    - aug_print
    - free
    linkageType: ''
    returnType: char
    signature: char *find_lens_for_path(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/augeas/src/augprint.c:197,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:198,1
    - Dst: asprintf
      Src: /src/augeas/src/augprint.c:200,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:201,1
    - Dst: aug_mv
      Src: /src/augeas/src/augprint.c:203,1
    - Dst: asprintf
      Src: /src/augeas/src/augprint.c:214,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:215,1
    - Dst: aug_rm
      Src: /src/augeas/src/augprint.c:217,1
    - Dst: free
      Src: /src/augeas/src/augprint.c:218,1
    - Dst: free
      Src: /src/augeas/src/augprint.c:222,1
    - Dst: free
      Src: /src/augeas/src/augprint.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - inputfile
    - target_file
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 224
    functionName: move_tree
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - CHECK_OOM
    - asprintf
    - aug_rm
    - free
    - aug_mv
    linkageType: ''
    returnType: void
    signature: void move_tree(char *inputfile, char *target_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:261,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:262,1
    - Dst: str_next_pos
      Src: /src/augeas/src/augprint.c:265,1
    - Dst: strndup
      Src: /src/augeas/src/augprint.c:266,1
    - Dst: str_simplified_tail
      Src: /src/augeas/src/augprint.c:269,1
    - Dst: add_segment_to_group
      Src: /src/augeas/src/augprint.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - path_value
    argTypes:
    - struct augeas_path_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: split_path
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - add_segment_to_group
    - strndup
    - CHECK_OOM
    - str_next_pos
    - str_simplified_tail
    - malloc
    linkageType: ''
    returnType: struct path_segment
    signature: struct path_segment *split_path(struct augeas_path_value *path_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/augeas/src/augprint.c:304,1
    - Dst: MIN
      Src: /src/augeas/src/augprint.c:305,1
    - Dst: strtoul
      Src: /src/augeas/src/augprint.c:312,1
    - Dst: MIN
      Src: /src/augeas/src/augprint.c:313,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - start
    - head_end
    - pos
    argTypes:
    - char*
    - char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 324
    functionName: str_next_pos
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 1
    functionsReached:
    - MIN
    - strtoul
    linkageType: ''
    returnType: char
    signature: char *str_next_pos(char *start, char **head_end, unsigned int *pos)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:359,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:360,1
    - Dst: strcpy
      Src: /src/augeas/src/augprint.c:384,1
    - Dst: strcpy
      Src: /src/augeas/src/augprint.c:387,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    argCount: 1
    argNames:
    - tail_orig
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 397
    functionName: str_simplified_tail
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 1
    functionsReached:
    - strcpy
    - malloc
    - CHECK_OOM
    linkageType: ''
    returnType: char
    signature: char *str_simplified_tail(char *tail_orig)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - v1
    - v2
    - matched
    argTypes:
    - char*
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 440
    functionName: value_cmp
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int value_cmp(char *v1, char *v2, unsigned int *matched)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:453,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:462,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:463,1
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:468,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - head
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 490
    functionName: find_or_create_group
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - reallocarray
    - CHECK_OOM
    - malloc
    - strcmp
    linkageType: ''
    returnType: struct group
    signature: struct group *find_or_create_group(char *head)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:507,1
    - Dst: value_cmp
      Src: /src/augeas/src/augprint.c:511,1
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:523,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:524,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:526,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:527,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:529,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - group
    - path_seg
    - path_value
    argTypes:
    - struct group*
    - struct path_segment*
    - struct augeas_path_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 555
    functionName: find_or_create_tail
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - strcmp
    - CHECK_OOM
    - value_cmp
    - reallocarray
    - malloc
    linkageType: ''
    returnType: struct tail
    signature: struct tail *find_or_create_tail(struct group *group, struct path_segment
      *path_seg, struct augeas_path_value *path_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:563,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - group
    - tail
    - position
    argTypes:
    - struct group*
    - struct tail*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: append_tail_stub
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - malloc
    - CHECK_OOM
    linkageType: ''
    returnType: void
    signature: void append_tail_stub(struct group *group, struct tail *tail, unsigned
      int position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:587,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:588,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:589,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:590,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:591,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:592,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:593,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:594,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:620,1
    - Dst: reallocarray
      Src: /src/augeas/src/augprint.c:621,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:622,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - group
    - new_max_position
    argTypes:
    - struct group*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 634
    functionName: grow_position_arrays
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - reallocarray
    - CHECK_OOM
    linkageType: ''
    returnType: void
    signature: void grow_position_arrays(struct group *group, unsigned int new_max_position)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_or_create_group
      Src: /src/augeas/src/augprint.c:639,1
    - Dst: grow_position_arrays
      Src: /src/augeas/src/augprint.c:647,1
    - Dst: find_or_create_tail
      Src: /src/augeas/src/augprint.c:650,1
    - Dst: append_tail_stub
      Src: /src/augeas/src/augprint.c:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - path_seg
    - path_value
    argTypes:
    - struct path_segment*
    - struct augeas_path_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 654
    functionName: add_segment_to_group
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 1
    functionsReached:
    - find_or_create_tail
    - grow_position_arrays
    - find_or_create_group
    - append_tail_stub
    linkageType: ''
    returnType: void
    signature: void add_segment_to_group(struct path_segment *path_seg, struct augeas_path_value
      *path_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:668,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:669,1
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:674,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:675,1
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:679,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - group
    - first_tail
    argTypes:
    - struct group*
    - struct tail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 703
    functionName: find_or_create_subgroup
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - malloc
    - CHECK_OOM
    linkageType: ''
    returnType: struct subgroup
    signature: struct subgroup *find_or_create_subgroup(struct group *group, struct
      tail *first_tail)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 723
    functionName: str_ischild
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_ischild(char *parent, char *child)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: str_ischild
      Src: /src/augeas/src/augprint.c:743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - tail_stub_ptr
    argTypes:
    - struct tail_stub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: find_first_tail
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - str_ischild
    linkageType: ''
    returnType: struct tail_stub
    signature: struct tail_stub *find_first_tail(struct tail_stub *tail_stub_ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:765,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:793,1
    - Dst: find_or_create_subgroup
      Src: /src/augeas/src/augprint.c:806,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:832,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 2
    argNames:
    - group
    - position
    argTypes:
    - struct group*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 845
    functionName: choose_tail
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - find_or_create_subgroup
    - strcmp
    - fprintf
    linkageType: ''
    returnType: struct tail
    signature: struct tail *choose_tail(struct group *group, unsigned int position
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - simple_tail
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 862
    functionName: simple_tail_expr
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *simple_tail_expr(char *simple_tail)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/augprint.c:882,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:884,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:887,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:900,1
    - Dst: find_first_tail
      Src: /src/augeas/src/augprint.c:903,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:915,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:915,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:917,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:918,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:923,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:924,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:931,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:937,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:938,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:939,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:941,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:942,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:945,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:947,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:948,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:951,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:953,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:953,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:960,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:961,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:962,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:968,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:969,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:970,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:974,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:975,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:978,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:981,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:982,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:985,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:992,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:993,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:994,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:996,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:999,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1000,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1001,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1003,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1006,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1007,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1010,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1012,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1015,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1016,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1019,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1021,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1024,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1024,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1030,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1031,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1032,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1036,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1037,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1038,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1042,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1043,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1046,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1050,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1051,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1054,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1061,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1066,1
    - Dst: simple_tail_expr
      Src: /src/augeas/src/augprint.c:1066,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 105
    argCount: 2
    argNames:
    - ps_ptr
    - path_value_seg
    argTypes:
    - struct path_segment*
    - struct augeas_path_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 1068
    functionName: output_segment
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - find_first_tail
    - strcmp
    - fprintf
    - printf
    - simple_tail_expr
    linkageType: ''
    returnType: void
    signature: void output_segment(struct path_segment *ps_ptr, struct augeas_path_value
      *path_value_seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1072,1
    - Dst: output_segment
      Src: /src/augeas/src/augprint.c:1074,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1077,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - path_value_seg
    argTypes:
    - struct augeas_path_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1070
    functionDepth: 3
    functionLinenumber: 1070
    functionLinenumberEnd: 1081
    functionName: output_path
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - printf
    - output_segment
    linkageType: ''
    returnType: void
    signature: void output_path(struct augeas_path_value *path_value_seg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1094,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1096,1
    - Dst: str_ischild
      Src: /src/augeas/src/augprint.c:1107,1
    - Dst: output_path
      Src: /src/augeas/src/augprint.c:1111,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1122,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1083
    functionDepth: 4
    functionLinenumber: 1083
    functionLinenumberEnd: 1127
    functionName: output
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - output_path
    - printf
    - str_ischild
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1144,1
    - Dst: value_cmp
      Src: /src/augeas/src/augprint.c:1145,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1155,1
    - Dst: value_cmp
      Src: /src/augeas/src/augprint.c:1156,1
    - Dst: MAX
      Src: /src/augeas/src/augprint.c:1164,1
    - Dst: MAX
      Src: /src/augeas/src/augprint.c:1165,1
    - Dst: regexp_value
      Src: /src/augeas/src/augprint.c:1168,1
    - Dst: regexp_value
      Src: /src/augeas/src/augprint.c:1175,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1179
    functionName: choose_re_width
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - MAX
    - value_cmp
    - strcmp
    - regexp_value
    linkageType: ''
    returnType: void
    signature: void choose_re_width(struct group *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/augprint.c:1192,1
    - Dst: strlen
      Src: /src/augeas/src/augprint.c:1194,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1204,1
    - Dst: MAX
      Src: /src/augeas/src/augprint.c:1208,1
    - Dst: MIN
      Src: /src/augeas/src/augprint.c:1213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1216
    functionName: choose_pretty_width
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - strcmp
    - MAX
    - MIN
    - strlen
    linkageType: ''
    returnType: void
    signature: void choose_pretty_width(struct group *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_first_tail
      Src: /src/augeas/src/augprint.c:1231,1
    - Dst: choose_tail
      Src: /src/augeas/src/augprint.c:1234,1
    - Dst: choose_re_width
      Src: /src/augeas/src/augprint.c:1237,1
    - Dst: choose_pretty_width
      Src: /src/augeas/src/augprint.c:1240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1220
    functionDepth: 3
    functionLinenumber: 1220
    functionLinenumberEnd: 1243
    functionName: choose_all_tails
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - choose_pretty_width
    - choose_tail
    - find_first_tail
    - choose_re_width
    linkageType: ''
    returnType: void
    signature: void choose_all_tails(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:1289,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:1290,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1317
    functionName: quote_value
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - malloc
    - CHECK_OOM
    linkageType: ''
    returnType: char
    signature: char *quote_value(char *value)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:1368,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:1369,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 106
    argCount: 2
    argNames:
    - value
    - max_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1427
    functionName: regexp_value
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 1
    functionsReached:
    - malloc
    - CHECK_OOM
    linkageType: ''
    returnType: char
    signature: char *regexp_value(char *value, int max_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1432,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1433,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1434,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1435,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1436,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1437,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1438,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1439,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1440,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1441,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1442,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1443,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1444,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1445,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1446,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1447,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1448,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1449,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1450,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1451,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1452,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1453,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1454,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1456
    functionName: usage
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(const char *progname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_get
      Src: /src/augeas/src/augprint.c:1462,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1466,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1458
    functionDepth: 6
    functionLinenumber: 1458
    functionLinenumberEnd: 1470
    functionName: print_version_info
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 2
    functionsReached:
    - aug_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_version_info(const char *progname)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/augeas/src/augprint.c:1474,1
    - Dst: basename
      Src: /src/augeas/src/augprint.c:1477,1
    - Dst: getopt_long
      Src: /src/augeas/src/augprint.c:1496,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1503,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1504,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1505,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1507,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1510,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1513,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1514,1
    - Dst: strcmp
      Src: /src/augeas/src/augprint.c:1516,1
    - Dst: strtol
      Src: /src/augeas/src/augprint.c:1518,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1539,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1554,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1555,1
    - Dst: strtol
      Src: /src/augeas/src/augprint.c:1560,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1570,1
    - Dst: usage
      Src: /src/augeas/src/augprint.c:1575,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1576,1
    - Dst: aug_init
      Src: /src/augeas/src/augprint.c:1579,1
    - Dst: print_version_info
      Src: /src/augeas/src/augprint.c:1580,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1581,1
    - Dst: asprintf
      Src: /src/augeas/src/augprint.c:1590,1
    - Dst: getenv
      Src: /src/augeas/src/augprint.c:1590,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:1591,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1594,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1596,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1597,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1601,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1602,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1603,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1606,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1607,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1608,1
    - Dst: cleanup_filepath
      Src: /src/augeas/src/augprint.c:1611,1
    - Dst: asprintf
      Src: /src/augeas/src/augprint.c:1614,1
    - Dst: perror
      Src: /src/augeas/src/augprint.c:1616,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1617,1
    - Dst: access
      Src: /src/augeas/src/augprint.c:1622,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1623,1
    - Dst: strerror
      Src: /src/augeas/src/augprint.c:1623,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1624,1
    - Dst: aug_init
      Src: /src/augeas/src/augprint.c:1627,1
    - Dst: find_lens_for_path
      Src: /src/augeas/src/augprint.c:1631,1
    - Dst: aug_transform
      Src: /src/augeas/src/augprint.c:1637,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1638,1
    - Dst: aug_error_details
      Src: /src/augeas/src/augprint.c:1638,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1639,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1646,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1647,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1648,1
    - Dst: find_lens_for_path
      Src: /src/augeas/src/augprint.c:1654,1
    - Dst: printf
      Src: /src/augeas/src/augprint.c:1655,1
    - Dst: aug_load_file
      Src: /src/augeas/src/augprint.c:1659,1
    - Dst: aug_error_details
      Src: /src/augeas/src/augprint.c:1659,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1661,1
    - Dst: aug_error_details
      Src: /src/augeas/src/augprint.c:1662,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1664,1
    - Dst: aug_error_message
      Src: /src/augeas/src/augprint.c:1666,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1668,1
    - Dst: aug_error_minor_message
      Src: /src/augeas/src/augprint.c:1669,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1671,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1673,1
    - Dst: move_tree
      Src: /src/augeas/src/augprint.c:1678,1
    - Dst: aug_match
      Src: /src/augeas/src/augprint.c:1684,1
    - Dst: find_lens_for_path
      Src: /src/augeas/src/augprint.c:1687,1
    - Dst: fprintf
      Src: /src/augeas/src/augprint.c:1688,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1689,1
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:1691,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:1692,1
    - Dst: malloc
      Src: /src/augeas/src/augprint.c:1695,1
    - Dst: CHECK_OOM
      Src: /src/augeas/src/augprint.c:1696,1
    - Dst: aug_get
      Src: /src/augeas/src/augprint.c:1698,1
    - Dst: quote_value
      Src: /src/augeas/src/augprint.c:1700,1
    - Dst: split_path
      Src: /src/augeas/src/augprint.c:1701,1
    - Dst: choose_all_tails
      Src: /src/augeas/src/augprint.c:1703,1
    - Dst: output
      Src: /src/augeas/src/augprint.c:1704,1
    - Dst: exit
      Src: /src/augeas/src/augprint.c:1706,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 181
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1472
    functionDepth: 7
    functionLinenumber: 1472
    functionLinenumberEnd: 1707
    functionName: main
    functionSourceFile: /src/augeas/src/augprint.c
    functionUses: 0
    functionsReached:
    - cleanup_filepath
    - move_tree
    - print_version_info
    - aug_get
    - getopt_long
    - strtol
    - basename
    - aug_init
    - strerror
    - access
    - aug_transform
    - quote_value
    - fprintf
    - exit
    - aug_match
    - aug_load_file
    - aug_error_minor_message
    - malloc
    - aug_error_message
    - strcmp
    - usage
    - split_path
    - aug_error_details
    - getenv
    - output
    - CHECK_OOM
    - find_lens_for_path
    - asprintf
    - printf
    - choose_all_tails
    - perror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: xalloc_oversized
    functionSourceFile: /src/augeas/src/memory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xalloc_oversized(n, s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AUGEAS_UNLIKELY
      Src: /src/augeas/src/memory.c:61,1
    - Dst: calloc
      Src: /src/augeas/src/memory.c:66,1
    - Dst: AUGEAS_UNLIKELY
      Src: /src/augeas/src/memory.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ptrptr
    - size
    - count
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: mem_alloc_n
    functionSourceFile: /src/augeas/src/memory.c
    functionUses: 0
    functionsReached:
    - calloc
    - AUGEAS_UNLIKELY
    linkageType: ''
    returnType: int
    signature: int mem_alloc_n(void *ptrptr, size_t size, size_t count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AUGEAS_UNLIKELY
      Src: /src/augeas/src/memory.c:89,1
    - Dst: free
      Src: /src/augeas/src/memory.c:90,1
    - Dst: AUGEAS_UNLIKELY
      Src: /src/augeas/src/memory.c:94,1
    - Dst: xalloc_oversized
      Src: /src/augeas/src/memory.c:94,1
    - Dst: realloc
      Src: /src/augeas/src/memory.c:98,1
    - Dst: AUGEAS_UNLIKELY
      Src: /src/augeas/src/memory.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ptrptr
    - size
    - count
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: mem_realloc_n
    functionSourceFile: /src/augeas/src/memory.c
    functionUses: 2
    functionsReached:
    - realloc
    - AUGEAS_UNLIKELY
    - xalloc_oversized
    - free
    linkageType: ''
    returnType: int
    signature: int mem_realloc_n(void *ptrptr, size_t size, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: UNIMPL_BODY
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNIMPL_BODY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:49,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:50,1
    - Dst: lns_make_prim
      Src: /src/augeas/src/builtin.c:51,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:51,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:52,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (rxp->tag == V_REGEXP)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/augeas/src/builtin.c
    - condition: (dflt->tag == V_STRING)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: lns_del
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - assert
    - lns_make_prim
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_del(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:59,1
    - Dst: lns_make_prim
      Src: /src/augeas/src/builtin.c:60,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:60,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (rxp->tag == V_REGEXP)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: lns_store
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - assert
    - lns_make_prim
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_store(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:67,1
    - Dst: lns_make_prim
      Src: /src/augeas/src/builtin.c:68,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:68,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (str->tag == V_STRING)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: lns_value
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - assert
    - lns_make_prim
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_value(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:75,1
    - Dst: lns_make_prim
      Src: /src/augeas/src/builtin.c:76,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:76,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (rxp->tag == V_REGEXP)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: lns_key
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - assert
    - lns_make_prim
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_key(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:83,1
    - Dst: lns_make_prim
      Src: /src/augeas/src/builtin.c:84,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:84,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (str->tag == V_STRING)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: lns_label
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - assert
    - lns_make_prim
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_label(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:91,1
    - Dst: lns_make_prim
      Src: /src/augeas/src/builtin.c:92,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:92,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (str->tag == V_STRING)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: lns_seq
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - assert
    - lns_make_prim
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_seq(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:99,1
    - Dst: lns_make_prim
      Src: /src/augeas/src/builtin.c:100,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:100,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (str->tag == V_STRING)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: lns_counter
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - assert
    - lns_make_prim
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_counter(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:109,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:110,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:111,1
    - Dst: typecheck_p
      Src: /src/augeas/src/builtin.c:112,1
    - Dst: lns_make_square
      Src: /src/augeas/src/builtin.c:114,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:114,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:114,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:114,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (l1->tag == V_LENS)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/augeas/src/builtin.c
    - condition: (l3->tag == V_LENS)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/augeas/src/builtin.c
    - condition: (l2->tag == V_LENS)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: lns_square
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - typecheck_p
    - lns_make_square
    - ref
    - assert
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_square(struct info *info, struct value **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format_info
      Src: /src/augeas/src/builtin.c:122,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/builtin.c:123,1
    - Dst: free
      Src: /src/augeas/src/builtin.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - exn
    - label
    - lens
    argTypes:
    - struct value*
    - char*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: exn_lns_error_detail
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - format_info
    - exn_printf_line
    - free
    linkageType: ''
    returnType: void
    signature: "void exn_lns_error_detail(struct value *exn, const char *label,\n
      \                                struct lens *lens)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HAS_ERR
      Src: /src/augeas/src/builtin.c:132,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:135,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:135,1
    - Dst: exn_lns_error_detail
      Src: /src/augeas/src/builtin.c:136,1
    - Dst: exn_lns_error_detail
      Src: /src/augeas/src/builtin.c:137,1
    - Dst: exn_lns_error_detail
      Src: /src/augeas/src/builtin.c:138,1
    - Dst: format_pos
      Src: /src/augeas/src/builtin.c:140,1
    - Dst: calc_line_ofs
      Src: /src/augeas/src/builtin.c:142,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/builtin.c:143,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/builtin.c:147,1
    - Dst: free
      Src: /src/augeas/src/builtin.c:148,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/builtin.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - info
    - err
    - text
    argTypes:
    - struct info*
    - struct lns_error*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: make_exn_lns_error
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - calc_line_ofs
    - make_exn_value
    - exn_printf_line
    - ref
    - free
    - format_pos
    - exn_lns_error_detail
    - HAS_ERR
    linkageType: ''
    returnType: struct value
    signature: "struct value *make_exn_lns_error(struct info *info,\n                                        struct
      lns_error *err,\n                                        const char *text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_memstream
      Src: /src/augeas/src/builtin.c:159,1
    - Dst: dump_tree
      Src: /src/augeas/src/builtin.c:160,1
    - Dst: close_memstream
      Src: /src/augeas/src/builtin.c:161,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/builtin.c:162,1
    - Dst: FREE
      Src: /src/augeas/src/builtin.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - exn
    - tree
    argTypes:
    - struct value*
    - struct tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: exn_print_tree
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - close_memstream
    - exn_printf_line
    - FREE
    - dump_tree
    - init_memstream
    linkageType: ''
    returnType: void
    signature: void exn_print_tree(struct value *exn, struct tree *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathx_error
      Src: /src/augeas/src/builtin.c:172,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:173,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:173,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/builtin.c:176,1
    - Dst: strlen
      Src: /src/augeas/src/builtin.c:176,1
    - Dst: strncpy
      Src: /src/augeas/src/builtin.c:177,1
    - Dst: strcat
      Src: /src/augeas/src/builtin.c:178,1
    - Dst: strcat
      Src: /src/augeas/src/builtin.c:179,1
    - Dst: exn_add_lines
      Src: /src/augeas/src/builtin.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - info
    - p
    argTypes:
    - struct info*
    - struct pathx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: make_pathx_exn
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - strcat
    - ALLOC_N
    - exn_add_lines
    - ref
    - pathx_error
    - strlen
    - strncpy
    linkageType: ''
    returnType: struct value
    signature: struct value *make_pathx_exn(struct info *info, struct pathx *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:187,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:188,1
    - Dst: pathx_parse
      Src: /src/augeas/src/builtin.c:190,1
    - Dst: make_pathx_exn
      Src: /src/augeas/src/builtin.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - info
    - tree
    - path
    - p
    argTypes:
    - struct info*
    - struct value*
    - struct value*
    - struct pathx**
    assertStmts:
    - condition: (path->tag == V_STRING)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/augeas/src/builtin.c
    - condition: (tree->tag == V_TREE)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 17
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: pathx_parse_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - pathx_parse
    - make_pathx_exn
    - assert
    linkageType: ''
    returnType: struct value
    signature: "struct value *pathx_parse_glue(struct info *info, struct value *tree,\n
      \                                     struct value *path, struct pathx **p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:203,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:204,1
    - Dst: lns_get
      Src: /src/augeas/src/builtin.c:209,1
    - Dst: HAS_ERR
      Src: /src/augeas/src/builtin.c:210,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:211,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:211,1
    - Dst: make_tree_origin
      Src: /src/augeas/src/builtin.c:212,1
    - Dst: make_tree_origin
      Src: /src/augeas/src/builtin.c:214,1
    - Dst: free_tree
      Src: /src/augeas/src/builtin.c:216,1
    - Dst: make_exn_lns_error
      Src: /src/augeas/src/builtin.c:219,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/builtin.c:221,1
    - Dst: exn_print_tree
      Src: /src/augeas/src/builtin.c:222,1
    - Dst: free_tree
      Src: /src/augeas/src/builtin.c:223,1
    - Dst: free_lns_error
      Src: /src/augeas/src/builtin.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (l->tag == V_LENS)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/augeas/src/builtin.c
    - condition: (str->tag == V_STRING)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 228
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 228
    functionName: lens_get
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 2
    functionsReached:
    - exn_printf_line
    - free_lns_error
    - make_exn_lns_error
    - exn_print_tree
    - ref
    - make_tree_origin
    - free_tree
    - lns_get
    - make_value
    - assert
    - HAS_ERR
    linkageType: ''
    returnType: struct value
    signature: struct value *lens_get(struct info *info, struct value **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:237,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:238,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:239,1
    - Dst: init_memstream
      Src: /src/augeas/src/builtin.c:245,1
    - Dst: lns_put
      Src: /src/augeas/src/builtin.c:246,1
    - Dst: close_memstream
      Src: /src/augeas/src/builtin.c:248,1
    - Dst: HAS_ERR
      Src: /src/augeas/src/builtin.c:250,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:251,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:251,1
    - Dst: make_string
      Src: /src/augeas/src/builtin.c:252,1
    - Dst: make_exn_lns_error
      Src: /src/augeas/src/builtin.c:254,1
    - Dst: free_lns_error
      Src: /src/augeas/src/builtin.c:255,1
    - Dst: FREE
      Src: /src/augeas/src/builtin.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (l->tag == V_LENS)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/augeas/src/builtin.c
    - condition: (str->tag == V_STRING)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/augeas/src/builtin.c
    - condition: (tree->tag == V_TREE)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 259
      start: 232
    functionDepth: 8
    functionLinenumber: 232
    functionLinenumberEnd: 259
    functionName: lens_put
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 2
    functionsReached:
    - lns_put
    - free_lns_error
    - make_exn_lns_error
    - ref
    - FREE
    - make_string
    - make_value
    - close_memstream
    - assert
    - HAS_ERR
    - init_memstream
    linkageType: ''
    returnType: struct value
    signature: struct value *lens_put(struct info *info, struct value **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:270,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:271,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:272,1
    - Dst: make_tree
      Src: /src/augeas/src/builtin.c:279,1
    - Dst: pathx_parse_glue
      Src: /src/augeas/src/builtin.c:283,1
    - Dst: tree_set
      Src: /src/augeas/src/builtin.c:287,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:288,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:288,1
    - Dst: list_remove
      Src: /src/augeas/src/builtin.c:294,1
    - Dst: free_tree
      Src: /src/augeas/src/builtin.c:295,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:297,1
    - Dst: free_pathx
      Src: /src/augeas/src/builtin.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (path->tag == V_STRING)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/augeas/src/builtin.c
    - condition: (tree->tag == V_TREE)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/augeas/src/builtin.c
    - condition: (val->tag == V_STRING)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 302
      start: 262
    functionDepth: 18
    functionLinenumber: 262
    functionLinenumberEnd: 302
    functionName: tree_set_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - make_tree
    - pathx_parse_glue
    - ref
    - free_pathx
    - tree_set
    - list_remove
    - assert
    - free_tree
    linkageType: ''
    returnType: struct value
    signature: struct value *tree_set_glue(struct info *info, struct value **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:312,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:313,1
    - Dst: make_tree
      Src: /src/augeas/src/builtin.c:320,1
    - Dst: pathx_parse_glue
      Src: /src/augeas/src/builtin.c:324,1
    - Dst: tree_set
      Src: /src/augeas/src/builtin.c:328,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:329,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:329,1
    - Dst: list_remove
      Src: /src/augeas/src/builtin.c:335,1
    - Dst: free_tree
      Src: /src/augeas/src/builtin.c:336,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:338,1
    - Dst: free_pathx
      Src: /src/augeas/src/builtin.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (path->tag == V_STRING)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/augeas/src/builtin.c
    - condition: (tree->tag == V_TREE)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 343
      start: 305
    functionDepth: 18
    functionLinenumber: 305
    functionLinenumberEnd: 343
    functionName: tree_clear_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - make_tree
    - pathx_parse_glue
    - ref
    - free_pathx
    - tree_set
    - list_remove
    - assert
    - free_tree
    linkageType: ''
    returnType: struct value
    signature: struct value *tree_clear_glue(struct info *info, struct value **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:351,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:352,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:353,1
    - Dst: pathx_parse_glue
      Src: /src/augeas/src/builtin.c:359,1
    - Dst: tree_insert
      Src: /src/augeas/src/builtin.c:363,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:365,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:365,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:371,1
    - Dst: free_pathx
      Src: /src/augeas/src/builtin.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - info
    - label
    - path
    - tree
    - before
    argTypes:
    - struct info*
    - struct value*
    - struct value*
    - struct value*
    - int
    assertStmts:
    - condition: (label->tag == V_STRING)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/augeas/src/builtin.c
    - condition: (path->tag == V_STRING)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/augeas/src/builtin.c
    - condition: (tree->tag == V_TREE)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 375
      start: 345
    functionDepth: 18
    functionLinenumber: 345
    functionLinenumberEnd: 375
    functionName: tree_insert_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - pathx_parse_glue
    - ref
    - tree_insert
    - free_pathx
    - assert
    linkageType: ''
    returnType: struct value
    signature: "struct value *tree_insert_glue(struct info *info, struct value *label,\n
      \                                     struct value *path, struct value *tree,\n
      \                                     int before)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_insert_glue
      Src: /src/augeas/src/builtin.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 19
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: tree_insa_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - tree_insert_glue
    linkageType: ''
    returnType: struct value
    signature: struct value *tree_insa_glue(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_insert_glue
      Src: /src/augeas/src/builtin.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 19
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: tree_insb_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - tree_insert_glue
    linkageType: ''
    returnType: struct value
    signature: struct value *tree_insb_glue(struct info *info, struct value **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:405,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:406,1
    - Dst: pathx_parse_glue
      Src: /src/augeas/src/builtin.c:411,1
    - Dst: tree_rm
      Src: /src/augeas/src/builtin.c:415,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:416,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:416,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:420,1
    - Dst: free_pathx
      Src: /src/augeas/src/builtin.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (path->tag == V_STRING)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/augeas/src/builtin.c
    - condition: (tree->tag == V_TREE)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 424
      start: 398
    functionDepth: 18
    functionLinenumber: 398
    functionLinenumberEnd: 424
    functionName: tree_rm_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - pathx_parse_glue
    - ref
    - tree_rm
    - free_pathx
    - assert
    linkageType: ''
    returnType: struct value
    signature: struct value *tree_rm_glue(struct info *info, struct value **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:430,1
    - Dst: asprintf
      Src: /src/augeas/src/builtin.c:436,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:439,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:439,1
    - Dst: make_string
      Src: /src/augeas/src/builtin.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (prefix->tag == V_STRING)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 442
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 442
    functionName: gensym
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - make_string
    - asprintf
    - assert
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *gensym(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:448,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:449,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:449,1
    - Dst: make_filter
      Src: /src/augeas/src/builtin.c:450,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (s->tag == V_STRING)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionName: xform_incl
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_filter
    - ref
    - assert
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *xform_incl(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:458,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:459,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:459,1
    - Dst: make_filter
      Src: /src/augeas/src/builtin.c:460,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (s->tag == V_STRING)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: xform_excl
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_filter
    - ref
    - assert
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *xform_excl(struct info *info, struct value **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:469,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:470,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:472,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:472,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:476,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:476,1
    - Dst: make_transform
      Src: /src/augeas/src/builtin.c:477,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:477,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (l->tag == V_LENS)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/augeas/src/builtin.c
    - condition: (f->tag == V_FILTER)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: xform_transform
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - ref
    - make_transform
    - assert
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *xform_transform(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:482,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:483,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:483,1
    - Dst: dup_string
      Src: /src/augeas/src/builtin.c:484,1
    - Dst: getenv
      Src: /src/augeas/src/builtin.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (argv[0]->tag == V_STRING)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: sys_getenv
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - dup_string
    - ref
    - getenv
    - assert
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *sys_getenv(struct info *info, struct value **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:491,1
    - Dst: xread_file
      Src: /src/augeas/src/builtin.c:494,1
    - Dst: xstrerror
      Src: /src/augeas/src/builtin.c:498,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:499,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:499,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/builtin.c:501,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:504,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:504,1
    - Dst: make_string
      Src: /src/augeas/src/builtin.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (n->tag == V_STRING)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 4
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: sys_read_file
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - exn_printf_line
    - xread_file
    - ref
    - xstrerror
    - make_string
    - assert
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *sys_read_file(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/augeas/src/builtin.c:515,1
    - Dst: assert
      Src: /src/augeas/src/builtin.c:516,1
    - Dst: typecheck_p
      Src: /src/augeas/src/builtin.c:517,1
    - Dst: lns_check_rec
      Src: /src/augeas/src/builtin.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts:
    - condition: (l->tag == V_LENS)
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/augeas/src/builtin.c
    - condition: (r->tag == V_LENS)
      pos:
        line_end: 515
        line_start: 515
        source_file: /src/augeas/src/builtin.c
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: lns_check_rec_glue
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - typecheck_p
    - assert
    - lns_check_rec
    linkageType: ''
    returnType: struct value
    signature: "struct value *lns_check_rec_glue(struct info *info,\n                                        struct
      value **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/builtin.c:528,1
    - Dst: make_unit
      Src: /src/augeas/src/builtin.c:529,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: pr_string
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - printf
    - make_unit
    linkageType: ''
    returnType: struct value
    signature: struct value *pr_string(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_regexp
      Src: /src/augeas/src/builtin.c:534,1
    - Dst: make_unit
      Src: /src/augeas/src/builtin.c:535,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: pr_regexp
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - print_regexp
    - ref
    - make_unit
    linkageType: ''
    returnType: struct value
    signature: struct value *pr_regexp(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/builtin.c:540,1
    - Dst: make_unit
      Src: /src/augeas/src/builtin.c:541,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: pr_endline
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - ref
    - printf
    - make_unit
    linkageType: ''
    returnType: struct value
    signature: struct value *pr_endline(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_tree_braces
      Src: /src/augeas/src/builtin.c:547,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - ATTRIBUTE_UNUSED*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: pr_tree
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - print_tree_braces
    - ref
    linkageType: ''
    returnType: struct value
    signature: "struct value *pr_tree(ATTRIBUTE_UNUSED struct info *info,\n                             struct
      value **argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:556,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:556,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:558,1
    - Dst: regexp_make_empty
      Src: /src/augeas/src/builtin.c:560,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - rx
    argTypes:
    - struct info*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: lns_value_of_type
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - regexp_make_empty
    - ref
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_value_of_type(struct info *info, struct regexp *rx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lns_value_of_type
      Src: /src/augeas/src/builtin.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: lns_ctype
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - lns_value_of_type
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_ctype(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lns_value_of_type
      Src: /src/augeas/src/builtin.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: lns_atype
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - lns_value_of_type
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_atype(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lns_value_of_type
      Src: /src/augeas/src/builtin.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: lns_vtype
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - lns_value_of_type
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_vtype(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lns_value_of_type
      Src: /src/augeas/src/builtin.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 580
    functionDepth: 3
    functionLinenumber: 580
    functionLinenumberEnd: 582
    functionName: lns_ktype
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - lns_value_of_type
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_ktype(struct info *info, struct value **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lns_format_atype
      Src: /src/augeas/src/builtin.c:592,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:595,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:595,1
    - Dst: make_string
      Src: /src/augeas/src/builtin.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 598
    functionName: lns_fmt_atype
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_string
    - ref
    - lns_format_atype
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_fmt_atype(struct info *info, struct value **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/augeas/src/builtin.c:610,1
    - Dst: regexp_match
      Src: /src/augeas/src/builtin.c:611,1
    - Dst: strlen
      Src: /src/augeas/src/builtin.c:611,1
    - Dst: make_exn_value
      Src: /src/augeas/src/builtin.c:614,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:614,1
    - Dst: strdup
      Src: /src/augeas/src/builtin.c:619,1
    - Dst: strndup
      Src: /src/augeas/src/builtin.c:621,1
    - Dst: make_value
      Src: /src/augeas/src/builtin.c:626,1
    - Dst: ref
      Src: /src/augeas/src/builtin.c:626,1
    - Dst: make_string
      Src: /src/augeas/src/builtin.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - info
    - argv
    argTypes:
    - struct info*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 601
    functionDepth: 4
    functionLinenumber: 601
    functionLinenumberEnd: 631
    functionName: rx_match
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - strndup
    - MEMZERO
    - ref
    - make_string
    - regexp_match
    - strlen
    - strdup
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *rx_match(struct info *info, struct value **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: module_create
      Src: /src/augeas/src/builtin.c:634,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:641,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:644,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:645,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:646,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:647,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:648,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:649,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:650,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:651,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:653,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:654,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:657,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:659,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:661,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:662,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:664,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:667,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:668,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:669,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:671,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:674,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:675,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:676,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:677,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:680,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:681,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:682,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:683,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:684,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:688,1
    - Dst: module_create
      Src: /src/augeas/src/builtin.c:692,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:694,1
    - Dst: DEFINE_NATIVE
      Src: /src/augeas/src/builtin.c:695,1
    - Dst: unref
      Src: /src/augeas/src/builtin.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 1
    argNames:
    - error
    argTypes:
    - struct error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 700
    functionName: builtin_init
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 1
    functionsReached:
    - module_create
    - unref
    - DEFINE_NATIVE
    linkageType: ''
    returnType: struct module
    signature: struct module *builtin_init(struct error *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 12
    argNames:
    - (
    - modl
    - ','
    - name
    - ','
    - nargs
    - ','
    - impl
    - ','
    - types
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: DEFINE_NATIVE
    functionSourceFile: /src/augeas/src/builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_NATIVE(modl, name, nargs, impl, types ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: REG_START
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REG_START(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: REG_END
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REG_END(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: REG_SIZE
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REG_SIZE(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: REG_POS
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REG_POS(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: REG_VALID
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REG_VALID(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: REG_MATCHED
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REG_MATCHED(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: SAVE_REGS
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAVE_REGS(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: RESTORE_REGS
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE_REGS(state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:158,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/get.c:162,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - lens
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: make_ast
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - FREE
    - ALLOC_N
    - ALLOC
    linkageType: ''
    returnType: struct ast
    signature: struct ast *make_ast(struct lens *lens)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_ast
      Src: /src/augeas/src/get.c:175,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:178,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ast
    argTypes:
    - struct ast*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: free_ast
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 1
    functionsReached:
    - free_ast
    - FREE
    linkageType: ''
    returnType: void
    signature: void free_ast(struct ast *ast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ast
    argTypes:
    - struct ast*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: ast_root
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ast
    signature: struct ast *ast_root(struct ast *ast)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ast
    - start
    - end
    argTypes:
    - struct ast*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: ast_set
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ast_set(struct ast *ast, uint start, uint end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_ast
      Src: /src/augeas/src/get.c:207,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:208,1
    - Dst: ast_set
      Src: /src/augeas/src/get.c:210,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/get.c:212,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:213,1
    - Dst: free_ast
      Src: /src/augeas/src/get.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - rec_state
    - lens
    - start
    - end
    argTypes:
    - struct rec_state*
    - struct lens*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: ast_append
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - free_ast
    - make_ast
    - ERR_NOMEM
    - ast_set
    - REALLOC_N
    linkageType: ''
    returnType: struct ast
    signature: "struct ast *ast_append(struct rec_state *rec_state, struct lens *lens,\n
      \                          uint start, uint end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/get.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rec_state
    argTypes:
    - struct rec_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ast_pop
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure
    linkageType: ''
    returnType: void
    signature: void ast_pop(struct rec_state *rec_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/augeas/src/get.c:238,1
    - Dst: format_lens
      Src: /src/augeas/src/get.c:239,1
    - Dst: printf
      Src: /src/augeas/src/get.c:240,1
    - Dst: free
      Src: /src/augeas/src/get.c:241,1
    - Dst: print_ast
      Src: /src/augeas/src/get.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ast
    - lvl
    argTypes:
    - struct ast*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: print_ast
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 1
    functionsReached:
    - fputs
    - printf
    - format_lens
    - print_ast
    - free
    linkageType: ''
    returnType: void
    signature: void print_ast(const struct ast *ast, int lvl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/get.c:254,1
    - Dst: free
      Src: /src/augeas/src/get.c:255,1
    - Dst: unref
      Src: /src/augeas/src/get.c:256,1
    - Dst: free
      Src: /src/augeas/src/get.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - err
    argTypes:
    - struct lns_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: free_lns_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 7
    functionsReached:
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_lns_error(struct lns_error *err)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:266,1
    - Dst: ref
      Src: /src/augeas/src/get.c:268,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:269,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:270,1
    - Dst: vasprintf
      Src: /src/augeas/src/get.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - state
    - lens
    - format
    - ap
    argTypes:
    - struct state*
    - struct lens*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: vget_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - ref
    - REG_END
    - vasprintf
    - REG_MATCHED
    linkageType: ''
    returnType: void
    signature: "void vget_error(struct state *state, struct lens *lens,\n                       const
      char *format, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/get.c:283,1
    - Dst: vget_error
      Src: /src/augeas/src/get.c:284,1
    - Dst: va_end
      Src: /src/augeas/src/get.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - state
    - lens
    - format
    argTypes:
    - struct state*
    - struct lens*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: get_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 1
    functionsReached:
    - vget_error
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void get_error(struct state *state, struct lens *lens,\n                      const
      char *format, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lens
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: make_skel
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ALLOC
    linkageType: ''
    returnType: struct skel
    signature: struct skel *make_skel(struct lens *lens)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_skel
      Src: /src/augeas/src/get.c:305,1
    - Dst: free
      Src: /src/augeas/src/get.c:308,1
    - Dst: free
      Src: /src/augeas/src/get.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - skel
    argTypes:
    - struct skel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: free_skel
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 3
    functionsReached:
    - free_skel
    - free
    linkageType: ''
    returnType: void
    signature: void free_skel(struct skel *skel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/get.c:316,1
    - Dst: print_skel
      Src: /src/augeas/src/get.c:318,1
    - Dst: printf
      Src: /src/augeas/src/get.c:320,1
    - Dst: printf
      Src: /src/augeas/src/get.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - skels
    - beg
    - sep
    - end
    argTypes:
    - struct skel*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: print_skel_list
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - print_skel
    - printf
    linkageType: ''
    returnType: void
    signature: "void print_skel_list(struct skel *skels, const char *beg,\n                            const
      char *sep, const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_skel
      Src: /src/augeas/src/get.c:318,1
    - Dst: printf
      Src: /src/augeas/src/get.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 61
    functionsReached:
    - printf
    - print_skel
    linkageType: ''
    returnType: void
    signature: void list_for_each(s, skels)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/get.c:329,1
    - Dst: fputc
      Src: /src/augeas/src/get.c:331,1
    - Dst: print_chars
      Src: /src/augeas/src/get.c:332,1
    - Dst: fputc
      Src: /src/augeas/src/get.c:333,1
    - Dst: print_skel_list
      Src: /src/augeas/src/get.c:337,1
    - Dst: print_skel_list
      Src: /src/augeas/src/get.c:340,1
    - Dst: print_skel_list
      Src: /src/augeas/src/get.c:343,1
    - Dst: print_skel_list
      Src: /src/augeas/src/get.c:346,1
    - Dst: printf
      Src: /src/augeas/src/get.c:349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - skel
    argTypes:
    - struct skel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 352
    functionName: print_skel
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 2
    functionsReached:
    - fputc
    - print_skel_list
    - print_chars
    - printf
    linkageType: ''
    returnType: void
    signature: void print_skel(struct skel *skel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/get.c:358,1
    - Dst: list_for_each
      Src: /src/augeas/src/get.c:359,1
    - Dst: printf
      Src: /src/augeas/src/get.c:360,1
    - Dst: print_skel
      Src: /src/augeas/src/get.c:361,1
    - Dst: printf
      Src: /src/augeas/src/get.c:362,1
    - Dst: print_dict
      Src: /src/augeas/src/get.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dict
    - indent
    argTypes:
    - struct dict*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: print_dict
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 1
    functionsReached:
    - print_skel
    - list_for_each
    - printf
    - print_dict
    linkageType: ''
    returnType: void
    signature: void print_dict(struct dict *dict, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/augeas/src/get.c:358,1
    - Dst: list_for_each
      Src: /src/augeas/src/get.c:359,1
    - Dst: printf
      Src: /src/augeas/src/get.c:360,1
    - Dst: print_skel
      Src: /src/augeas/src/get.c:361,1
    - Dst: printf
      Src: /src/augeas/src/get.c:362,1
    - Dst: print_dict
      Src: /src/augeas/src/get.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: list_for_each
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 63
    functionsReached:
    - print_skel
    - list_for_each
    - printf
    - print_dict
    linkageType: ''
    returnType: void
    signature: void list_for_each(d, dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:375,1
    - Dst: strncpy
      Src: /src/augeas/src/get.c:376,1
    - Dst: REG_POS
      Src: /src/augeas/src/get.c:376,1
    - Dst: strncpy
      Src: /src/augeas/src/get.c:378,1
    - Dst: escape
      Src: /src/augeas/src/get.c:383,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:384,1
    - Dst: free
      Src: /src/augeas/src/get.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - state
    - l
    argTypes:
    - struct state*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: get_expected_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - escape
    - REG_POS
    - strncpy
    - free
    - REG_MATCHED
    linkageType: ''
    returnType: void
    signature: void get_expected_error(struct state *state, struct lens *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:393,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:393,1
    - Dst: strndup
      Src: /src/augeas/src/get.c:394,1
    - Dst: REG_POS
      Src: /src/augeas/src/get.c:394,1
    - Dst: REG_SIZE
      Src: /src/augeas/src/get.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: token
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 3
    functionsReached:
    - strndup
    - REG_SIZE
    - REG_POS
    - ensure0
    - REG_MATCHED
    linkageType: ''
    returnType: char
    signature: char *token(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/augeas/src/get.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - text
    - start
    - end
    argTypes:
    - char*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: token_range
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - strndup
    linkageType: ''
    returnType: char
    signature: char *token_range(const char *text, uint start, uint end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regexp_escape
      Src: /src/augeas/src/get.c:404,1
    - Dst: strndup
      Src: /src/augeas/src/get.c:407,1
    - Dst: REG_POS
      Src: /src/augeas/src/get.c:407,1
    - Dst: REG_SIZE
      Src: /src/augeas/src/get.c:407,1
    - Dst: strdup
      Src: /src/augeas/src/get.c:409,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:412,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:414,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:418,1
    - Dst: free
      Src: /src/augeas/src/get.c:420,1
    - Dst: free
      Src: /src/augeas/src/get.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - state
    - lens
    - count
    - r
    argTypes:
    - struct state*
    - struct lens*
    - int
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 422
    functionName: regexp_match_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 3
    functionsReached:
    - get_error
    - strndup
    - REG_SIZE
    - REG_POS
    - regexp_escape
    - strdup
    - free
    linkageType: ''
    returnType: void
    signature: "void regexp_match_error(struct state *state, struct lens *lens,\n
      \                              int count, struct regexp *r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/get.c:425,1
    - Dst: regexp_escape
      Src: /src/augeas/src/get.c:427,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:435,1
    - Dst: free
      Src: /src/augeas/src/get.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - state
    - lens
    argTypes:
    - struct state*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 439
    functionName: no_match_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure
    - get_error
    - regexp_escape
    - free
    linkageType: ''
    returnType: void
    signature: void no_match_error(struct state *state, struct lens *lens)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:451,1
    - Dst: regexp_match
      Src: /src/augeas/src/get.c:454,1
    - Dst: regexp_match_error
      Src: /src/augeas/src/get.c:456,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - state
    - lens
    - re
    - size
    - start
    argTypes:
    - struct state*
    - struct lens*
    - struct regexp*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: match
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 77
    functionsReached:
    - regexp_match
    - FREE
    - ALLOC
    - regexp_match_error
    linkageType: ''
    returnType: int
    signature: "int match(struct state *state, struct lens *lens,\n                 struct
      regexp *re, uint size, uint start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/augeas/src/get.c:467,1
    - Dst: free
      Src: /src/augeas/src/get.c:468,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: free_regs
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - FREE
    - free
    linkageType: ''
    returnType: void
    signature: void free_regs(struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_free
      Src: /src/augeas/src/get.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seqs
    argTypes:
    - struct seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: free_seqs
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - list_free
    linkageType: ''
    returnType: void
    signature: void free_seqs(struct seq *seqs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:483,1
    - Dst: STRNEQ
      Src: /src/augeas/src/get.c:487,1
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:491,1
    - Dst: list_append
      Src: /src/augeas/src/get.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - name
    - state
    argTypes:
    - char*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: find_seq
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - list_append
    - ensure0
    - STRNEQ
    - ALLOC
    linkageType: ''
    returnType: struct seq
    signature: struct seq *find_seq(const char *name, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:502,1
    - Dst: find_seq
      Src: /src/augeas/src/get.c:503,1
    - Dst: asprintf
      Src: /src/augeas/src/get.c:506,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: get_seq
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ERR_NOMEM
    - ensure0
    - find_seq
    - asprintf
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_seq(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_seq
      Src: /src/augeas/src/get.c:515,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: parse_seq
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - make_skel
    - get_seq
    linkageType: ''
    returnType: struct skel
    signature: struct skel *parse_seq(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:520,1
    - Dst: find_seq
      Src: /src/augeas/src/get.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 524
    functionName: get_counter
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - find_seq
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_counter(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_counter
      Src: /src/augeas/src/get.c:527,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: parse_counter
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_counter
    - make_skel
    linkageType: ''
    returnType: struct skel
    signature: struct skel *parse_counter(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:532,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:533,1
    - Dst: regexp_escape
      Src: /src/augeas/src/get.c:534,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:535,1
    - Dst: free
      Src: /src/augeas/src/get.c:536,1
    - Dst: update_span
      Src: /src/augeas/src/get.c:538,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:538,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 540
    functionName: get_del
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - ensure0
    - regexp_escape
    - update_span
    - REG_END
    - REG_START
    - free
    - REG_MATCHED
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_del(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:543,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:546,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:547,1
    - Dst: no_match_error
      Src: /src/augeas/src/get.c:548,1
    - Dst: token
      Src: /src/augeas/src/get.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 552
    functionName: parse_del
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - token
    - no_match_error
    - make_skel
    - REG_MATCHED
    linkageType: ''
    returnType: struct skel
    signature: struct skel *parse_del(struct lens *lens, struct state *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:555,1
    - Dst: ensure0
      Src: /src/augeas/src/get.c:556,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:561,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:562,1
    - Dst: no_match_error
      Src: /src/augeas/src/get.c:563,1
    - Dst: token
      Src: /src/augeas/src/get.c:565,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:567,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:568,1
    - Dst: update_span
      Src: /src/augeas/src/get.c:569,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:569,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 554
    functionDepth: 4
    functionLinenumber: 554
    functionLinenumberEnd: 573
    functionName: get_store
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - ensure0
    - token
    - update_span
    - no_match_error
    - REG_END
    - REG_START
    - REG_MATCHED
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_store(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:577,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: parse_store
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - make_skel
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_store(struct lens *lens,\n                                ATTRIBUTE_UNUSED
      struct state *state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:582,1
    - Dst: strdup
      Src: /src/augeas/src/get.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: get_value
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - strdup
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_value(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:589,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - ATTRIBUTE_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: parse_value
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - make_skel
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_value(struct lens *lens,\n                                ATTRIBUTE_UNUSED
      struct state *state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:594,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:595,1
    - Dst: no_match_error
      Src: /src/augeas/src/get.c:596,1
    - Dst: token
      Src: /src/augeas/src/get.c:598,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:600,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:601,1
    - Dst: update_span
      Src: /src/augeas/src/get.c:602,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:602,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 593
    functionDepth: 4
    functionLinenumber: 593
    functionLinenumberEnd: 606
    functionName: get_key
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - token
    - update_span
    - no_match_error
    - REG_END
    - REG_START
    - REG_MATCHED
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_key(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_key
      Src: /src/augeas/src/get.c:609,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 5
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: parse_key
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - make_skel
    - get_key
    linkageType: ''
    returnType: struct skel
    signature: struct skel *parse_key(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:614,1
    - Dst: strdup
      Src: /src/augeas/src/get.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: get_label
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - strdup
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_label(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_label
      Src: /src/augeas/src/get.c:620,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: parse_label
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_label
    - make_skel
    linkageType: ''
    returnType: struct skel
    signature: struct skel *parse_label(struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:625,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:633,1
    - Dst: get_lens
      Src: /src/augeas/src/get.c:634,1
    - Dst: regexp_nsub
      Src: /src/augeas/src/get.c:638,1
    - Dst: get_expected_error
      Src: /src/augeas/src/get.c:642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 644
    functionName: get_union
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_lens
    - get_expected_error
    - regexp_nsub
    - ensure0
    - REG_MATCHED
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_union(struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:648,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:657,1
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:658,1
    - Dst: regexp_nsub
      Src: /src/augeas/src/get.c:662,1
    - Dst: get_expected_error
      Src: /src/augeas/src/get.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 669
    functionName: parse_union
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_expected_error
    - regexp_nsub
    - ensure0
    - parse_lens
    - REG_MATCHED
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_union(struct lens *lens, struct state *state,\n
      \                               struct dict **dict)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:672,1
    - Dst: REG_VALID
      Src: /src/augeas/src/get.c:680,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:681,1
    - Dst: free_tree
      Src: /src/augeas/src/get.c:683,1
    - Dst: get_lens
      Src: /src/augeas/src/get.c:688,1
    - Dst: list_append
      Src: /src/augeas/src/get.c:689,1
    - Dst: regexp_nsub
      Src: /src/augeas/src/get.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 671
    functionDepth: 4
    functionLinenumber: 671
    functionLinenumberEnd: 695
    functionName: get_concat
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - get_lens
    - list_append
    - regexp_nsub
    - ensure0
    - REG_VALID
    - free_tree
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_concat(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:699,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:700,1
    - Dst: REG_VALID
      Src: /src/augeas/src/get.c:707,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:708,1
    - Dst: free_skel
      Src: /src/augeas/src/get.c:710,1
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:714,1
    - Dst: list_append
      Src: /src/augeas/src/get.c:715,1
    - Dst: dict_append
      Src: /src/augeas/src/get.c:716,1
    - Dst: regexp_nsub
      Src: /src/augeas/src/get.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 697
    functionDepth: 4
    functionLinenumber: 697
    functionLinenumberEnd: 722
    functionName: parse_concat
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - free_skel
    - list_append
    - dict_append
    - ensure0
    - regexp_nsub
    - REG_VALID
    - parse_lens
    - make_skel
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_concat(struct lens *lens, struct state *state,\n
      \                                struct dict **dict)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: regexp_match
      Src: /src/augeas/src/get.c:746,1
    - Dst: regexp_match
      Src: /src/augeas/src/get.c:756,1
    - Dst: try_match
      Src: /src/augeas/src/get.c:766,1
    - Dst: try_match
      Src: /src/augeas/src/get.c:777,1
    - Dst: try_match
      Src: /src/augeas/src/get.c:787,1
    - Dst: BUG_ON
      Src: /src/augeas/src/get.c:790,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 6
    argNames:
    - lens
    - state
    - start
    - end
    - last
    - next
    argTypes:
    - struct lens*
    - struct state*
    - uint
    - uint
    - struct lens**
    - struct lens**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 795
    functionName: try_match
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 1
    functionsReached:
    - regexp_match
    - BUG_ON
    - try_match
    linkageType: ''
    returnType: int
    signature: "int try_match(struct lens *lens, struct state *state,\n                     uint
      start, uint end,\n                     struct lens **last, struct lens **next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error
      Src: /src/augeas/src/get.c:801,1
    - Dst: try_match
      Src: /src/augeas/src/get.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - lens
    - state
    - start
    - end
    argTypes:
    - struct lens*
    - struct state*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 797
    functionDepth: 5
    functionLinenumber: 797
    functionLinenumberEnd: 806
    functionName: short_iteration_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - try_match
    - get_error
    linkageType: ''
    returnType: void
    signature: "void short_iteration_error(struct lens *lens, struct state *state,\n
      \                                   uint start, uint end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:809,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:812,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:813,1
    - Dst: SAVE_REGS
      Src: /src/augeas/src/get.c:816,1
    - Dst: match
      Src: /src/augeas/src/get.c:817,1
    - Dst: get_lens
      Src: /src/augeas/src/get.c:820,1
    - Dst: list_tail_cons
      Src: /src/augeas/src/get.c:821,1
    - Dst: REG_SIZE
      Src: /src/augeas/src/get.c:823,1
    - Dst: REG_SIZE
      Src: /src/augeas/src/get.c:824,1
    - Dst: free_regs
      Src: /src/augeas/src/get.c:825,1
    - Dst: RESTORE_REGS
      Src: /src/augeas/src/get.c:827,1
    - Dst: short_iteration_error
      Src: /src/augeas/src/get.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 808
    functionDepth: 6
    functionLinenumber: 808
    functionLinenumberEnd: 832
    functionName: get_quant_star
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_lens
    - free_regs
    - list_tail_cons
    - SAVE_REGS
    - REG_SIZE
    - RESTORE_REGS
    - ensure0
    - match
    - REG_END
    - short_iteration_error
    - REG_START
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_quant_star(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:836,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:838,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:839,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:840,1
    - Dst: SAVE_REGS
      Src: /src/augeas/src/get.c:844,1
    - Dst: match
      Src: /src/augeas/src/get.c:845,1
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:849,1
    - Dst: list_tail_cons
      Src: /src/augeas/src/get.c:850,1
    - Dst: dict_append
      Src: /src/augeas/src/get.c:851,1
    - Dst: REG_SIZE
      Src: /src/augeas/src/get.c:853,1
    - Dst: REG_SIZE
      Src: /src/augeas/src/get.c:854,1
    - Dst: free_regs
      Src: /src/augeas/src/get.c:855,1
    - Dst: RESTORE_REGS
      Src: /src/augeas/src/get.c:857,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 834
    functionDepth: 3
    functionLinenumber: 834
    functionLinenumberEnd: 862
    functionName: parse_quant_star
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - free_regs
    - list_tail_cons
    - SAVE_REGS
    - REG_SIZE
    - RESTORE_REGS
    - match
    - ensure0
    - dict_append
    - REG_END
    - REG_START
    - parse_lens
    - make_skel
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_quant_star(struct lens *lens, struct state *state,\n
      \                                    struct dict **dict)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:865,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:873,1
    - Dst: get_lens
      Src: /src/augeas/src/get.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 878
    functionName: get_quant_maybe
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - get_lens
    - REG_MATCHED
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_quant_maybe(struct lens *lens, struct state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:882,1
    - Dst: REG_MATCHED
      Src: /src/augeas/src/get.c:887,1
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:888,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 894
    functionName: parse_quant_maybe
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    - parse_lens
    - make_skel
    - REG_MATCHED
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_quant_maybe(struct lens *lens, struct state *state,\n
      \                                     struct dict **dict)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: move
      Src: /src/augeas/src/get.c:899,1
    - Dst: make_span
      Src: /src/augeas/src/get.c:906,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:907,1
    - Dst: get_lens
      Src: /src/augeas/src/get.c:910,1
    - Dst: make_tree
      Src: /src/augeas/src/get.c:912,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:913,1
    - Dst: move
      Src: /src/augeas/src/get.c:914,1
    - Dst: update_span
      Src: /src/augeas/src/get.c:917,1
    - Dst: free_span
      Src: /src/augeas/src/get.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 928
    functionName: get_subtree
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_lens
    - make_tree
    - make_span
    - move
    - update_span
    - ERR_NOMEM
    - free_span
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_subtree(struct lens *lens, struct state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:937,1
    - Dst: make_dict
      Src: /src/augeas/src/get.c:938,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 941
    functionName: parse_subtree
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - make_dict
    - parse_lens
    - make_skel
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_subtree(struct lens *lens, struct state *state,\n
      \                                 struct dict **dict)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: child_first
      Src: /src/augeas/src/get.c:958,1
    - Dst: child_last
      Src: /src/augeas/src/get.c:959,1
    - Dst: STRCASEEQ
      Src: /src/augeas/src/get.c:960,1
    - Dst: STREQ
      Src: /src/augeas/src/get.c:962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - lens
    - left
    - right
    argTypes:
    - struct lens*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 965
    functionName: square_match
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - STREQ
    - child_first
    - STRCASEEQ
    - child_last
    linkageType: ''
    returnType: int
    signature: int square_match(struct lens *lens, char *left, char *right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:972,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:976,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:977,1
    - Dst: SAVE_REGS
      Src: /src/augeas/src/get.c:981,1
    - Dst: match
      Src: /src/augeas/src/get.c:982,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:983,1
    - Dst: get_lens
      Src: /src/augeas/src/get.c:985,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:989,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:990,1
    - Dst: token_range
      Src: /src/augeas/src/get.c:991,1
    - Dst: regexp_nsub
      Src: /src/augeas/src/get.c:996,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:998,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:999,1
    - Dst: token_range
      Src: /src/augeas/src/get.c:1000,1
    - Dst: square_match
      Src: /src/augeas/src/get.c:1002,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1003,1
    - Dst: RESTORE_REGS
      Src: /src/augeas/src/get.c:1010,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1011,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1012,1
    - Dst: free_tree
      Src: /src/augeas/src/get.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 1019
    functionName: get_square
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - get_lens
    - FREE
    - SAVE_REGS
    - RESTORE_REGS
    - token_range
    - regexp_nsub
    - ensure0
    - square_match
    - match
    - REG_END
    - REG_START
    - ERR_NOMEM
    - free_tree
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_square(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:1023,1
    - Dst: REG_END
      Src: /src/augeas/src/get.c:1024,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:1025,1
    - Dst: SAVE_REGS
      Src: /src/augeas/src/get.c:1029,1
    - Dst: match
      Src: /src/augeas/src/get.c:1030,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1031,1
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:1033,1
    - Dst: make_skel
      Src: /src/augeas/src/get.c:1036,1
    - Dst: RESTORE_REGS
      Src: /src/augeas/src/get.c:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1042
    functionName: parse_square
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - make_skel
    - SAVE_REGS
    - RESTORE_REGS
    - ensure0
    - match
    - REG_END
    - REG_START
    - ERR_NOMEM
    - parse_lens
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_square(struct lens *lens, struct state *state,\n
      \                                struct dict **dict)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/augeas/src/get.c:1052,1
    - Dst: fprintf
      Src: /src/augeas/src/get.c:1053,1
    - Dst: fprintf
      Src: /src/augeas/src/get.c:1055,1
    - Dst: fprintf
      Src: /src/augeas/src/get.c:1057,1
    - Dst: format_lens
      Src: /src/augeas/src/get.c:1059,1
    - Dst: fprintf
      Src: /src/augeas/src/get.c:1061,1
    - Dst: free
      Src: /src/augeas/src/get.c:1062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct rec_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1065
    functionName: print_frames
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - fputc
    - free
    - format_lens
    - fprintf
    linkageType: ''
    returnType: ATTRIBUTE_UNUSED
    signature: ATTRIBUTE_UNUSED print_frames(struct rec_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct rec_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1071
    functionName: top_frame
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE *top_frame(struct rec_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - n
    argTypes:
    - struct rec_state*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: nth_frame
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - ensure0
    linkageType: ''
    returnType: ATTRIBUTE_PURE
    signature: ATTRIBUTE_PURE *nth_frame(struct rec_state *state, uint n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/get.c:1087,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1088,1
    - Dst: top_frame
      Src: /src/augeas/src/get.c:1094,1
    - Dst: MEMZERO
      Src: /src/augeas/src/get.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - state
    - lens
    argTypes:
    - struct rec_state*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1080
    functionDepth: 2
    functionLinenumber: 1080
    functionLinenumberEnd: 1107
    functionName: push_frame
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - top_frame
    - ERR_NOMEM
    - REALLOC_N
    - MEMZERO
    linkageType: ''
    returnType: struct frame
    signature: struct frame *push_frame(struct rec_state *state, struct lens *lens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure0
      Src: /src/augeas/src/get.c:1110,1
    - Dst: top_frame
      Src: /src/augeas/src/get.c:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct rec_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1115
    functionName: pop_frame
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - top_frame
    - ensure0
    linkageType: ''
    returnType: struct frame
    signature: struct frame *pop_frame(struct rec_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/augeas/src/get.c:1121,1
    - Dst: format_lens
      Src: /src/augeas/src/get.c:1122,1
    - Dst: fprintf
      Src: /src/augeas/src/get.c:1123,1
    - Dst: free
      Src: /src/augeas/src/get.c:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - lens
    - action
    - start
    - end
    - fused
    - lvl
    argTypes:
    - struct lens*
    - char
    - size_t
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1126
    functionName: dbg_visit
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - fputc
    - free
    - format_lens
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dbg_visit(struct lens *lens, char action, size_t start, size_t
      end,\n                      int fused, int lvl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_lens
      Src: /src/augeas/src/get.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - top
    - lens
    - state
    argTypes:
    - struct frame*
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1135
    functionName: get_terminal
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_lens
    linkageType: ''
    returnType: void
    signature: "void get_terminal(struct frame *top, struct lens *lens,\n                         struct
      state *state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - top
    - lens
    - state
    argTypes:
    - struct frame*
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1143
    functionName: parse_terminal
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - parse_lens
    linkageType: ''
    returnType: void
    signature: "void parse_terminal(struct frame *top, struct lens *lens,\n                           struct
      state *state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SAVE_REGS
      Src: /src/augeas/src/get.c:1154,1
    - Dst: debugging
      Src: /src/augeas/src/get.c:1155,1
    - Dst: dbg_visit
      Src: /src/augeas/src/get.c:1156,1
    - Dst: match
      Src: /src/augeas/src/get.c:1157,1
    - Dst: push_frame
      Src: /src/augeas/src/get.c:1158,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1159,1
    - Dst: get_terminal
      Src: /src/augeas/src/get.c:1161,1
    - Dst: parse_terminal
      Src: /src/augeas/src/get.c:1163,1
    - Dst: ast_append
      Src: /src/augeas/src/get.c:1164,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1165,1
    - Dst: RESTORE_REGS
      Src: /src/augeas/src/get.c:1167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - lens
    - start
    - end
    - data
    argTypes:
    - struct lens*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1145
    functionDepth: 3
    functionLinenumber: 1145
    functionLinenumberEnd: 1168
    functionName: visit_terminal
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - dbg_visit
    - debugging
    - SAVE_REGS
    - ERR_BAIL
    - RESTORE_REGS
    - ast_append
    - ERR_NOMEM
    - push_frame
    - match
    - parse_terminal
    - get_terminal
    linkageType: ''
    returnType: void
    signature: "void visit_terminal(struct lens *lens, size_t start, size_t end,\n
      \                          void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rec_state
    argTypes:
    - struct rec_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: rec_gen_span
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rec_gen_span(struct rec_state *rec_state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: debugging
      Src: /src/augeas/src/get.c:1185,1
    - Dst: dbg_visit
      Src: /src/augeas/src/get.c:1186,1
    - Dst: push_frame
      Src: /src/augeas/src/get.c:1192,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1193,1
    - Dst: rec_gen_span
      Src: /src/augeas/src/get.c:1198,1
    - Dst: make_span
      Src: /src/augeas/src/get.c:1200,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1201,1
    - Dst: push_frame
      Src: /src/augeas/src/get.c:1206,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1207,1
    - Dst: ast_append
      Src: /src/augeas/src/get.c:1209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - lens
    - size_t
    - size_t
    - data
    argTypes:
    - struct lens*
    - ATTRIBUTE_UNUSED
    - ATTRIBUTE_UNUSED
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1214
    functionName: visit_enter
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 2
    functionsReached:
    - rec_gen_span
    - dbg_visit
    - debugging
    - ERR_BAIL
    - make_span
    - ast_append
    - push_frame
    - ERR_NOMEM
    linkageType: ''
    returnType: void
    signature: "void visit_enter(struct lens *lens,\n                        ATTRIBUTE_UNUSED
      size_t start,\n                        ATTRIBUTE_UNUSED size_t end,\n                        void
      *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pop_frame
      Src: /src/augeas/src/get.c:1224,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1225,1
    - Dst: list_tail_cons
      Src: /src/augeas/src/get.c:1226,1
    - Dst: ensure
      Src: /src/augeas/src/get.c:1232,1
    - Dst: ensure
      Src: /src/augeas/src/get.c:1236,1
    - Dst: push_frame
      Src: /src/augeas/src/get.c:1240,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - rec_state
    - lens
    - n
    argTypes:
    - struct rec_state*
    - struct lens*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1217
    functionDepth: 3
    functionLinenumber: 1217
    functionLinenumberEnd: 1247
    functionName: get_combine
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - pop_frame
    - list_tail_cons
    - ERR_BAIL
    - ensure
    - push_frame
    linkageType: ''
    returnType: void
    signature: "void get_combine(struct rec_state *rec_state,\n                        struct
      lens *lens, uint n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_skel
      Src: /src/augeas/src/get.c:1252,1
    - Dst: pop_frame
      Src: /src/augeas/src/get.c:1258,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1259,1
    - Dst: list_tail_cons
      Src: /src/augeas/src/get.c:1260,1
    - Dst: dict_append
      Src: /src/augeas/src/get.c:1264,1
    - Dst: ensure
      Src: /src/augeas/src/get.c:1266,1
    - Dst: push_frame
      Src: /src/augeas/src/get.c:1270,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1271,1
    - Dst: move
      Src: /src/augeas/src/get.c:1272,1
    - Dst: move
      Src: /src/augeas/src/get.c:1273,1
    - Dst: free_skel
      Src: /src/augeas/src/get.c:1276,1
    - Dst: free_dict
      Src: /src/augeas/src/get.c:1277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - rec_state
    - lens
    - n
    argTypes:
    - struct rec_state*
    - struct lens*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1250
    functionDepth: 3
    functionLinenumber: 1250
    functionLinenumberEnd: 1279
    functionName: parse_combine
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - free_skel
    - pop_frame
    - list_tail_cons
    - free_dict
    - ERR_BAIL
    - ensure
    - dict_append
    - move
    - push_frame
    - make_skel
    linkageType: ''
    returnType: void
    signature: "void parse_combine(struct rec_state *rec_state,\n                          struct
      lens *lens, uint n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_skel
      Src: /src/augeas/src/get.c:1288,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1289,1
    - Dst: make_dict
      Src: /src/augeas/src/get.c:1290,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1291,1
    - Dst: pop_frame
      Src: /src/augeas/src/get.c:1293,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1294,1
    - Dst: ensure
      Src: /src/augeas/src/get.c:1295,1
    - Dst: push_frame
      Src: /src/augeas/src/get.c:1297,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1298,1
    - Dst: move
      Src: /src/augeas/src/get.c:1299,1
    - Dst: move
      Src: /src/augeas/src/get.c:1300,1
    - Dst: free_skel
      Src: /src/augeas/src/get.c:1302,1
    - Dst: free_dict
      Src: /src/augeas/src/get.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - lens
    - rec_state
    - top
    argTypes:
    - struct lens*
    - struct rec_state*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1304
    functionName: visit_exit_put_subtree
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - free_skel
    - pop_frame
    - free_dict
    - ERR_BAIL
    - ensure
    - make_dict
    - move
    - push_frame
    - ERR_NOMEM
    - make_skel
    linkageType: ''
    returnType: void
    signature: "void visit_exit_put_subtree(struct lens *lens,\n                                   struct
      rec_state *rec_state,\n                                   struct frame *top)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: debugging
      Src: /src/augeas/src/get.c:1318,1
    - Dst: dbg_visit
      Src: /src/augeas/src/get.c:1319,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1321,1
    - Dst: pop_frame
      Src: /src/augeas/src/get.c:1325,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1326,1
    - Dst: make_tree
      Src: /src/augeas/src/get.c:1328,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1329,1
    - Dst: pop_frame
      Src: /src/augeas/src/get.c:1332,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1333,1
    - Dst: ensure
      Src: /src/augeas/src/get.c:1334,1
    - Dst: push_frame
      Src: /src/augeas/src/get.c:1339,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1340,1
    - Dst: move
      Src: /src/augeas/src/get.c:1341,1
    - Dst: visit_exit_put_subtree
      Src: /src/augeas/src/get.c:1343,1
    - Dst: ensure
      Src: /src/augeas/src/get.c:1346,1
    - Dst: nth_frame
      Src: /src/augeas/src/get.c:1348,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1349,1
    - Dst: BUG_ON
      Src: /src/augeas/src/get.c:1350,1
    - Dst: format_lens
      Src: /src/augeas/src/get.c:1354,1
    - Dst: format_lens
      Src: /src/augeas/src/get.c:1355,1
    - Dst: struct rec_state*::combine
      Src: /src/augeas/src/get.c:1357,1
    - Dst: nth_frame
      Src: /src/augeas/src/get.c:1361,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1363,1
    - Dst: struct rec_state*::combine
      Src: /src/augeas/src/get.c:1364,1
    - Dst: top_frame
      Src: /src/augeas/src/get.c:1368,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1371,1
    - Dst: struct rec_state*::combine
      Src: /src/augeas/src/get.c:1376,1
    - Dst: child_first
      Src: /src/augeas/src/get.c:1384,1
    - Dst: child_first
      Src: /src/augeas/src/get.c:1385,1
    - Dst: child_last
      Src: /src/augeas/src/get.c:1386,1
    - Dst: token_range
      Src: /src/augeas/src/get.c:1387,1
    - Dst: token_range
      Src: /src/augeas/src/get.c:1388,1
    - Dst: square_match
      Src: /src/augeas/src/get.c:1389,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1391,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1395,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1396,1
    - Dst: struct rec_state*::combine
      Src: /src/augeas/src/get.c:1400,1
    - Dst: top_frame
      Src: /src/augeas/src/get.c:1404,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1405,1
    - Dst: ast_pop
      Src: /src/augeas/src/get.c:1407,1
    - Dst: free_tree
      Src: /src/augeas/src/get.c:1409,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 4
    argNames:
    - lens
    - size_t
    - size_t
    - data
    argTypes:
    - struct lens*
    - ATTRIBUTE_UNUSED
    - ATTRIBUTE_UNUSED
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1306
    functionDepth: 4
    functionLinenumber: 1306
    functionLinenumberEnd: 1411
    functionName: visit_exit
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 2
    functionsReached:
    - get_error
    - pop_frame
    - FREE
    - token_range
    - nth_frame
    - visit_exit_put_subtree
    - ensure
    - move
    - struct rec_state*::combine
    - BUG_ON
    - dbg_visit
    - child_first
    - ast_pop
    - format_lens
    - square_match
    - ERR_NOMEM
    - child_last
    - make_tree
    - top_frame
    - debugging
    - ERR_BAIL
    - push_frame
    - free_tree
    linkageType: ''
    returnType: void
    signature: "void visit_exit(struct lens *lens,\n                       ATTRIBUTE_UNUSED
      size_t start,\n                       ATTRIBUTE_UNUSED size_t end,\n                       void
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/augeas/src/get.c:1418,1
    - Dst: vget_error
      Src: /src/augeas/src/get.c:1419,1
    - Dst: va_end
      Src: /src/augeas/src/get.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - lens
    - data
    - pos
    - format
    argTypes:
    - struct lens*
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: visit_error
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - vget_error
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void visit_error(struct lens *lens, void *data, size_t pos,\n                        const
      char *format, ...)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REG_END
      Src: /src/augeas/src/get.c:1426,1
    - Dst: REG_START
      Src: /src/augeas/src/get.c:1427,1
    - Dst: MEMZERO
      Src: /src/augeas/src/get.c:1435,1
    - Dst: MEMZERO
      Src: /src/augeas/src/get.c:1436,1
    - Dst: SAVE_REGS
      Src: /src/augeas/src/get.c:1437,1
    - Dst: jmt_build
      Src: /src/augeas/src/get.c:1440,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1441,1
    - Dst: make_ast
      Src: /src/augeas/src/get.c:1449,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1451,1
    - Dst: jmt_parse
      Src: /src/augeas/src/get.c:1453,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1454,1
    - Dst: jmt_visit
      Src: /src/augeas/src/get.c:1460,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/get.c:1461,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1463,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1467,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1471,1
    - Dst: ast_root
      Src: /src/augeas/src/get.c:1476,1
    - Dst: ensure
      Src: /src/augeas/src/get.c:1477,1
    - Dst: debugging
      Src: /src/augeas/src/get.c:1479,1
    - Dst: print_ast
      Src: /src/augeas/src/get.c:1480,1
    - Dst: ast_root
      Src: /src/augeas/src/get.c:1480,1
    - Dst: RESTORE_REGS
      Src: /src/augeas/src/get.c:1481,1
    - Dst: jmt_free_parse
      Src: /src/augeas/src/get.c:1482,1
    - Dst: free_ast
      Src: /src/augeas/src/get.c:1483,1
    - Dst: ast_root
      Src: /src/augeas/src/get.c:1483,1
    - Dst: nth_frame
      Src: /src/augeas/src/get.c:1488,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1489,1
    - Dst: free_span
      Src: /src/augeas/src/get.c:1490,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1492,1
    - Dst: free_tree
      Src: /src/augeas/src/get.c:1493,1
    - Dst: free_skel
      Src: /src/augeas/src/get.c:1495,1
    - Dst: free_dict
      Src: /src/augeas/src/get.c:1496,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1499,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 3
    argNames:
    - mode
    - lens
    - state
    argTypes:
    - enum mode_t
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1424
    functionDepth: 7
    functionLinenumber: 1424
    functionLinenumberEnd: 1501
    functionName: rec_process
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - make_ast
    - FREE
    - SAVE_REGS
    - free_dict
    - jmt_free_parse
    - REG_END
    - free_span
    - MEMZERO
    - nth_frame
    - RESTORE_REGS
    - ensure
    - ast_root
    - free_ast
    - REG_START
    - ERR_NOMEM
    - free_skel
    - jmt_parse
    - jmt_build
    - debugging
    - ERR_BAIL
    - jmt_visit
    - print_ast
    - free_tree
    linkageType: ''
    returnType: struct frame
    signature: "struct frame *rec_process(enum mode_t mode, struct lens *lens,\n                                 struct
      state *state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rec_process
      Src: /src/augeas/src/get.c:1507,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1503
    functionDepth: 8
    functionLinenumber: 1503
    functionLinenumberEnd: 1515
    functionName: get_rec
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - FREE
    - rec_process
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_rec(struct lens *lens, struct state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rec_process
      Src: /src/augeas/src/get.c:1522,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1517
    functionDepth: 8
    functionLinenumber: 1517
    functionLinenumberEnd: 1530
    functionName: parse_rec
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - FREE
    - rec_process
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_rec(struct lens *lens, struct state *state,\n                              struct
      dict **dict)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_del
      Src: /src/augeas/src/get.c:1537,1
    - Dst: get_store
      Src: /src/augeas/src/get.c:1540,1
    - Dst: get_value
      Src: /src/augeas/src/get.c:1543,1
    - Dst: get_key
      Src: /src/augeas/src/get.c:1546,1
    - Dst: get_label
      Src: /src/augeas/src/get.c:1549,1
    - Dst: get_seq
      Src: /src/augeas/src/get.c:1552,1
    - Dst: get_counter
      Src: /src/augeas/src/get.c:1555,1
    - Dst: get_concat
      Src: /src/augeas/src/get.c:1558,1
    - Dst: get_union
      Src: /src/augeas/src/get.c:1561,1
    - Dst: get_subtree
      Src: /src/augeas/src/get.c:1564,1
    - Dst: get_quant_star
      Src: /src/augeas/src/get.c:1567,1
    - Dst: get_quant_maybe
      Src: /src/augeas/src/get.c:1570,1
    - Dst: get_square
      Src: /src/augeas/src/get.c:1573,1
    - Dst: BUG_ON
      Src: /src/augeas/src/get.c:1576,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - lens
    - state
    argTypes:
    - struct lens*
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1532
    functionDepth: 7
    functionLinenumber: 1532
    functionLinenumberEnd: 1581
    functionName: get_lens
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 7
    functionsReached:
    - get_concat
    - get_square
    - get_del
    - get_counter
    - get_quant_maybe
    - get_label
    - get_seq
    - get_subtree
    - get_quant_star
    - get_value
    - get_union
    - get_store
    - BUG_ON
    - get_key
    linkageType: ''
    returnType: struct tree
    signature: struct tree *get_lens(struct lens *lens, struct state *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/augeas/src/get.c:1590,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1592,1
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:1601,1
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:1604,1
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:1604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - state
    - lens
    - size
    argTypes:
    - struct state*
    - struct lens*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1586
    functionDepth: 3
    functionLinenumber: 1586
    functionLinenumberEnd: 1609
    functionName: init_regs
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 0
    functionsReached:
    - get_error
    - ALLOC
    - match
    linkageType: ''
    returnType: int
    signature: int init_regs(struct state *state, struct lens *lens, uint size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/get.c:1615,1
    - Dst: MEMZERO
      Src: /src/augeas/src/get.c:1618,1
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:1619,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1620,1
    - Dst: init_regs
      Src: /src/augeas/src/get.c:1635,1
    - Dst: get_rec
      Src: /src/augeas/src/get.c:1638,1
    - Dst: get_lens
      Src: /src/augeas/src/get.c:1640,1
    - Dst: free_seqs
      Src: /src/augeas/src/get.c:1643,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1645,1
    - Dst: free
      Src: /src/augeas/src/get.c:1646,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1649,1
    - Dst: free
      Src: /src/augeas/src/get.c:1650,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1653,1
    - Dst: free_regs
      Src: /src/augeas/src/get.c:1657,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1658,1
    - Dst: free_tree
      Src: /src/augeas/src/get.c:1664,1
    - Dst: free_lns_error
      Src: /src/augeas/src/get.c:1667,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - info
    - lens
    - text
    - enable_span
    - err
    argTypes:
    - struct info*
    - struct lens*
    - char*
    - int
    - struct lns_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1611
    functionDepth: 9
    functionLinenumber: 1611
    functionLinenumberEnd: 1670
    functionName: lns_get
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 2
    functionsReached:
    - get_error
    - init_regs
    - get_lens
    - free_regs
    - MEMZERO
    - free_lns_error
    - FREE
    - free_seqs
    - free
    - strlen
    - free_tree
    - ERR_NOMEM
    - get_rec
    - ALLOC
    linkageType: ''
    returnType: struct tree
    signature: "struct tree *lns_get(struct info *info, struct lens *lens, const char
      *text,\n                     int enable_span, struct lns_error **err)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: parse_del
      Src: /src/augeas/src/get.c:1678,1
    - Dst: parse_store
      Src: /src/augeas/src/get.c:1681,1
    - Dst: parse_value
      Src: /src/augeas/src/get.c:1684,1
    - Dst: parse_key
      Src: /src/augeas/src/get.c:1687,1
    - Dst: parse_label
      Src: /src/augeas/src/get.c:1690,1
    - Dst: parse_seq
      Src: /src/augeas/src/get.c:1693,1
    - Dst: parse_counter
      Src: /src/augeas/src/get.c:1696,1
    - Dst: parse_concat
      Src: /src/augeas/src/get.c:1699,1
    - Dst: parse_union
      Src: /src/augeas/src/get.c:1702,1
    - Dst: parse_subtree
      Src: /src/augeas/src/get.c:1705,1
    - Dst: parse_quant_star
      Src: /src/augeas/src/get.c:1708,1
    - Dst: parse_quant_maybe
      Src: /src/augeas/src/get.c:1711,1
    - Dst: parse_square
      Src: /src/augeas/src/get.c:1714,1
    - Dst: BUG_ON
      Src: /src/augeas/src/get.c:1717,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - lens
    - state
    - dict
    argTypes:
    - struct lens*
    - struct state*
    - struct dict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1672
    functionDepth: 6
    functionLinenumber: 1672
    functionLinenumberEnd: 1722
    functionName: parse_lens
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 7
    functionsReached:
    - parse_union
    - parse_counter
    - parse_quant_maybe
    - parse_seq
    - parse_quant_star
    - parse_key
    - parse_subtree
    - parse_square
    - parse_del
    - parse_label
    - parse_value
    - BUG_ON
    - parse_store
    - parse_concat
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *parse_lens(struct lens *lens, struct state *state,\n
      \                              struct dict **dict)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/augeas/src/get.c:1728,1
    - Dst: MEMZERO
      Src: /src/augeas/src/get.c:1731,1
    - Dst: ALLOC
      Src: /src/augeas/src/get.c:1732,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/get.c:1733,1
    - Dst: init_regs
      Src: /src/augeas/src/get.c:1740,1
    - Dst: parse_rec
      Src: /src/augeas/src/get.c:1744,1
    - Dst: parse_lens
      Src: /src/augeas/src/get.c:1746,1
    - Dst: free_seqs
      Src: /src/augeas/src/get.c:1748,1
    - Dst: free_skel
      Src: /src/augeas/src/get.c:1750,1
    - Dst: free_dict
      Src: /src/augeas/src/get.c:1752,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1756,1
    - Dst: free
      Src: /src/augeas/src/get.c:1757,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1760,1
    - Dst: free
      Src: /src/augeas/src/get.c:1761,1
    - Dst: get_error
      Src: /src/augeas/src/get.c:1765,1
    - Dst: free_regs
      Src: /src/augeas/src/get.c:1769,1
    - Dst: FREE
      Src: /src/augeas/src/get.c:1770,1
    - Dst: free_lns_error
      Src: /src/augeas/src/get.c:1774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - lens
    - text
    - dict
    - err
    argTypes:
    - struct lens*
    - char*
    - struct dict**
    - struct lns_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1724
    functionDepth: 9
    functionLinenumber: 1724
    functionLinenumberEnd: 1777
    functionName: lns_parse
    functionSourceFile: /src/augeas/src/get.c
    functionUses: 1
    functionsReached:
    - get_error
    - init_regs
    - free_skel
    - free_regs
    - MEMZERO
    - free_lns_error
    - FREE
    - free_dict
    - free_seqs
    - free
    - strlen
    - parse_rec
    - ERR_NOMEM
    - parse_lens
    - ALLOC
    linkageType: ''
    returnType: struct skel
    signature: "struct skel *lns_parse(struct lens *lens, const char *text, struct
      dict **dict,\n                       struct lns_error **err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lns
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: ltype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ltype(lns, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lens
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ltag
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ltag(lens)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/lens.c:75,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:78,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:81,1
    - Dst: free
      Src: /src/augeas/src/lens.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: format_lens
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 5
    functionsReached:
    - format_info
    - xasprintf
    - free
    - strdup
    linkageType: ''
    returnType: char
    signature: char *format_lens(struct lens *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lns
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: BUG_LENS_TAG
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG_LENS_TAG(lns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format_lens
      Src: /src/augeas/src/lens.c:91,1
    - Dst: bug_on
      Src: /src/augeas/src/lens.c:92,1
    - Dst: free
      Src: /src/augeas/src/lens.c:93,1
    - Dst: assert
      Src: /src/augeas/src/lens.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - lens
    - file
    - lineno
    argTypes:
    - struct lens*
    - char*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/augeas/src/lens.c
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: bug_lens_tag
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - format_lens
    - bug_on
    linkageType: ''
    returnType: void
    signature: void bug_lens_tag(struct lens *lens, const char *file, int lineno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fa_compile
      Src: /src/augeas/src/lens.c:114,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:114,1
    - Dst: fa_nocase
      Src: /src/augeas/src/lens.c:117,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:118,1
    - Dst: escape
      Src: /src/augeas/src/lens.c:123,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:124,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:126,1
    - Dst: regerror
      Src: /src/augeas/src/lens.c:128,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:129,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:130,1
    - Dst: regerror
      Src: /src/augeas/src/lens.c:132,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:133,1
    - Dst: free
      Src: /src/augeas/src/lens.c:136,1
    - Dst: free
      Src: /src/augeas/src/lens.c:137,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - info
    - pattern
    - fa
    - nocase
    argTypes:
    - struct info*
    - char*
    - struct fa**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 9
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: str_to_fa
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - fa_compile
    - ALLOC_N
    - exn_printf_line
    - escape
    - fa_nocase
    - fa_free
    - regerror
    - strlen
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: struct value
    signature: "struct value *str_to_fa(struct info *info, const char *pattern,\n
      \                              struct fa **fa, int nocase)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_to_fa
      Src: /src/augeas/src/lens.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - regexp
    - fa
    argTypes:
    - struct regexp*
    - struct fa**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 10
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: regexp_to_fa
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - str_to_fa
    linkageType: ''
    returnType: struct value
    signature: struct value *regexp_to_fa(struct regexp *regexp, struct fa **fa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/lens.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tag
    - info
    argTypes:
    - enum lens_tag
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: make_lens
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_ref
    linkageType: ''
    returnType: struct lens
    signature: struct lens *make_lens(enum lens_tag tag, struct info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_lens
      Src: /src/augeas/src/lens.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tag
    - info
    - child
    argTypes:
    - enum lens_tag
    - struct info*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: make_lens_unop
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_lens
    linkageType: ''
    returnType: struct lens
    signature: "struct lens *make_lens_unop(enum lens_tag tag, struct info *info,\n
      \                                 struct lens *child)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: make_lens
      Src: /src/augeas/src/lens.c:173,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:186,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:193,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:194,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:201,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:202,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:212,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:222,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:223,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:226,1
    - Dst: ensure
      Src: /src/augeas/src/lens.c:229,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:233,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:234,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 5
    argNames:
    - tag
    - info
    - l1
    - l2
    - combinator
    argTypes:
    - enum lens_tag
    - struct info*
    - struct lens*
    - struct lens*
    - regexp_combinator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 236
    functionName: make_lens_binop
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - make_lens
    - ref
    - FREE
    - ensure
    - unref
    - ltype
    linkageType: ''
    returnType: struct lens
    signature: "struct lens *make_lens_binop(enum lens_tag tag, struct info *info,\n
      \                                   struct lens *l1, struct lens *l2,\n                                    regexp_combinator
      *combinator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_value
      Src: /src/augeas/src/lens.c:240,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lens
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: make_lens_value
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ref
    - make_value
    linkageType: ''
    returnType: struct value
    signature: struct value *make_lens_value(struct lens *lens)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: typecheck_union
      Src: /src/augeas/src/lens.c:253,1
    - Dst: make_lens_binop
      Src: /src/augeas/src/lens.c:258,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - info
    - l1
    - l2
    - check
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: lns_make_union
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_lens_binop
    - make_lens_value
    - typecheck_union
    linkageType: ''
    returnType: struct value
    signature: "struct value *lns_make_union(struct info *info,\n                             struct
      lens *l1, struct lens *l2, int check)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: typecheck_concat
      Src: /src/augeas/src/lens.c:273,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:278,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:281,1
    - Dst: make_lens_binop
      Src: /src/augeas/src/lens.c:284,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:288,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - info
    - l1
    - l2
    - check
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: lns_make_concat
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_exn_value
    - make_lens_binop
    - typecheck_concat
    - make_lens_value
    linkageType: ''
    returnType: struct value
    signature: "struct value *lns_make_concat(struct info *info,\n                              struct
      lens *l1, struct lens *l2, int check)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: regexp_expand_nocase
      Src: /src/augeas/src/lens.c:302,1
    - Dst: regexp_expand_nocase
      Src: /src/augeas/src/lens.c:303,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:304,1
    - Dst: asprintf
      Src: /src/augeas/src/lens.c:305,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:306,1
    - Dst: asprintf
      Src: /src/augeas/src/lens.c:309,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:310,1
    - Dst: make_regexp
      Src: /src/augeas/src/lens.c:318,1
    - Dst: free
      Src: /src/augeas/src/lens.c:320,1
    - Dst: free
      Src: /src/augeas/src/lens.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - info
    - ktype
    - vtype
    argTypes:
    - struct info*
    - struct regexp*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 323
    functionName: subtree_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_regexp
    - asprintf
    - regexp_expand_nocase
    - ERR_NOMEM
    - free
    linkageType: ''
    returnType: struct regexp
    signature: "struct regexp *subtree_atype(struct info *info,\n                                    struct
      regexp *ktype,\n                                    struct regexp *vtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_lens_unop
      Src: /src/augeas/src/lens.c:338,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:339,1
    - Dst: subtree_atype
      Src: /src/augeas/src/lens.c:341,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - info
    - l
    argTypes:
    - struct info*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: lns_make_subtree
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - subtree_atype
    - ref
    - make_lens_unop
    - make_lens_value
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_make_subtree(struct info *info, struct lens *l)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: typecheck_iter
      Src: /src/augeas/src/lens.c:354,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:359,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:362,1
    - Dst: make_lens_unop
      Src: /src/augeas/src/lens.c:365,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:367,1
    - Dst: regexp_iter
      Src: /src/augeas/src/lens.c:367,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:367,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - info
    - l
    - check
    argTypes:
    - struct info*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: lns_make_star
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_exn_value
    - make_lens_unop
    - regexp_iter
    - make_lens_value
    - typecheck_iter
    - ltype
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_make_star(struct info *info, struct lens *l, int
      check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lns_make_star
      Src: /src/augeas/src/lens.c:378,1
    - Dst: EXN
      Src: /src/augeas/src/lens.c:379,1
    - Dst: lns_make_concat
      Src: /src/augeas/src/lens.c:382,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:382,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:382,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:382,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - info
    - l
    - check
    argTypes:
    - struct info*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: lns_make_plus
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - lns_make_concat
    - EXN
    - ref
    - unref
    - lns_make_star
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_make_plus(struct info *info, struct lens *l, int
      check)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: typecheck_maybe
      Src: /src/augeas/src/lens.c:391,1
    - Dst: make_lens_unop
      Src: /src/augeas/src/lens.c:395,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:397,1
    - Dst: regexp_maybe
      Src: /src/augeas/src/lens.c:397,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:397,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - info
    - l
    - check
    argTypes:
    - struct info*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 404
    functionName: lns_make_maybe
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_lens_unop
    - make_lens_value
    - regexp_maybe
    - ltype
    - typecheck_maybe
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_make_maybe(struct info *info, struct lens *l, int
      check)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: str_to_fa
      Src: /src/augeas/src/lens.c:423,1
    - Dst: fa_enumerate
      Src: /src/augeas/src/lens.c:427,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:431,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:432,1
    - Dst: make_regexp_literal
      Src: /src/augeas/src/lens.c:436,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:437,1
    - Dst: regexp_concat_n
      Src: /src/augeas/src/lens.c:441,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:443,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:444,1
    - Dst: regexp_union_n
      Src: /src/augeas/src/lens.c:446,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:448,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:454,1
    - Dst: free
      Src: /src/augeas/src/lens.c:456,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:458,1
    - Dst: free
      Src: /src/augeas/src/lens.c:460,1
    - Dst: free
      Src: /src/augeas/src/lens.c:461,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:462,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:463,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 4
    argNames:
    - info
    - sqr
    - left
    - body
    argTypes:
    - struct info*
    - struct regexp**
    - struct regexp*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 412
    functionDepth: 10
    functionLinenumber: 412
    functionLinenumberEnd: 464
    functionName: square_precise_type
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - regexp_concat_n
    - ALLOC_N
    - make_regexp_literal
    - fa_free
    - str_to_fa
    - unref
    - regexp_union_n
    - ERR_NOMEM
    - free
    - fa_enumerate
    linkageType: ''
    returnType: void
    signature: "void square_precise_type(struct info *info,\n                                struct
      regexp **sqr,\n                                struct regexp *left,\n                                struct
      regexp *body)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:479,1
    - Dst: typecheck_square
      Src: /src/augeas/src/lens.c:481,1
    - Dst: lns_make_concat
      Src: /src/augeas/src/lens.c:485,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:485,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:485,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:485,1
    - Dst: EXN
      Src: /src/augeas/src/lens.c:486,1
    - Dst: lns_make_concat
      Src: /src/augeas/src/lens.c:489,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:489,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:489,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:489,1
    - Dst: EXN
      Src: /src/augeas/src/lens.c:490,1
    - Dst: make_lens_unop
      Src: /src/augeas/src/lens.c:494,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:494,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:494,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:495,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:498,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:498,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:498,1
    - Dst: square_precise_type
      Src: /src/augeas/src/lens.c:500,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:506,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:507,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:511,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:512,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:513,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:514,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:515,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:516,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:517,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - info
    - l1
    - l2
    - l3
    - check
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 472
    functionDepth: 11
    functionLinenumber: 472
    functionLinenumberEnd: 519
    functionName: lns_make_square
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_exn_value
    - lns_make_concat
    - square_precise_type
    - make_lens_unop
    - EXN
    - make_lens_value
    - ref
    - unref
    - typecheck_square
    - ERR_NOMEM
    - ltype
    linkageType: ''
    returnType: struct value
    signature: "struct value * lns_make_square(struct info *info, struct lens *l1,\n
      \                              struct lens *l2, struct lens *l3, int check)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/lens.c:528,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:530,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - info
    - string
    argTypes:
    - struct info*
    - struct string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 535
    functionName: make_regexp_from_string
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ref
    - make_ref
    linkageType: ''
    returnType: struct regexp
    signature: "struct regexp *make_regexp_from_string(struct info *info,\n                                              struct
      string *string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fa_restrict_alphabet
      Src: /src/augeas/src/lens.c:543,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:543,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:546,1
    - Dst: BUG_ON
      Src: /src/augeas/src/lens.c:547,1
    - Dst: ensure
      Src: /src/augeas/src/lens.c:548,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:548,1
    - Dst: regexp_c_locale
      Src: /src/augeas/src/lens.c:550,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:551,1
    - Dst: make_regexp
      Src: /src/augeas/src/lens.c:553,1
    - Dst: BUG_ON
      Src: /src/augeas/src/lens.c:555,1
    - Dst: regexp_compile
      Src: /src/augeas/src/lens.c:555,1
    - Dst: free
      Src: /src/augeas/src/lens.c:558,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 537
    functionDepth: 9
    functionLinenumber: 537
    functionLinenumberEnd: 563
    functionName: restrict_regexp
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - fa_restrict_alphabet
    - ensure
    - regexp_c_locale
    - make_regexp
    - strlen
    - unref
    - regexp_compile
    - ERR_NOMEM
    - free
    - BUG_ON
    linkageType: ''
    returnType: struct regexp
    signature: struct regexp *restrict_regexp(struct regexp *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regexp_match
      Src: /src/augeas/src/lens.c:577,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:577,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:578,1
    - Dst: escape
      Src: /src/augeas/src/lens.c:579,1
    - Dst: regexp_escape
      Src: /src/augeas/src/lens.c:580,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:581,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:583,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:584,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:590,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:591,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - tag
    - info
    - regexp
    - string
    argTypes:
    - enum lens_tag
    - struct info*
    - struct regexp*
    - struct string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 594
    functionName: typecheck_prim
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - escape
    - FREE
    - fa_free
    - regexp_match
    - regexp_escape
    - strlen
    linkageType: ''
    returnType: struct value
    signature: "struct value *\ntypecheck_prim(enum lens_tag tag, struct info *info,\n
      \              struct regexp *regexp, struct string *string)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: typecheck_p
      Src: /src/augeas/src/lens.c:601,1
    - Dst: typecheck_prim
      Src: /src/augeas/src/lens.c:602,1
    - Dst: make_lens
      Src: /src/augeas/src/lens.c:608,1
    - Dst: regexp_make_empty
      Src: /src/augeas/src/lens.c:614,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:617,1
    - Dst: regexp_matches_empty
      Src: /src/augeas/src/lens.c:618,1
    - Dst: regexp_make_empty
      Src: /src/augeas/src/lens.c:621,1
    - Dst: BUG_LENS_TAG
      Src: /src/augeas/src/lens.c:624,1
    - Dst: make_regexp_from_string
      Src: /src/augeas/src/lens.c:632,1
    - Dst: restrict_regexp
      Src: /src/augeas/src/lens.c:636,1
    - Dst: make_regexp_literal
      Src: /src/augeas/src/lens.c:638,1
    - Dst: restrict_regexp
      Src: /src/augeas/src/lens.c:645,1
    - Dst: make_regexp_literal
      Src: /src/augeas/src/lens.c:647,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:652,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 4
    argNames:
    - tag
    - info
    - regexp
    - string
    argTypes:
    - enum lens_tag
    - struct info*
    - struct regexp*
    - struct string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 596
    functionDepth: 10
    functionLinenumber: 596
    functionLinenumberEnd: 655
    functionName: lns_make_prim
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 7
    functionsReached:
    - make_regexp_from_string
    - regexp_matches_empty
    - make_lens
    - make_lens_value
    - typecheck_p
    - regexp_make_empty
    - ref
    - make_regexp_literal
    - restrict_regexp
    - BUG_LENS_TAG
    - typecheck_prim
    linkageType: ''
    returnType: struct value
    signature: "struct value *lns_make_prim(enum lens_tag tag, struct info *info,\n
      \                           struct regexp *regexp, struct string *string)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: regexp_to_fa
      Src: /src/augeas/src/lens.c:671,1
    - Dst: regexp_to_fa
      Src: /src/augeas/src/lens.c:675,1
    - Dst: fa_intersect
      Src: /src/augeas/src/lens.c:679,1
    - Dst: fa_is_basic
      Src: /src/augeas/src/lens.c:680,1
    - Dst: fa_example
      Src: /src/augeas/src/lens.c:683,1
    - Dst: enc_format
      Src: /src/augeas/src/lens.c:685,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:687,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:691,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:691,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:695,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:697,1
    - Dst: free
      Src: /src/augeas/src/lens.c:698,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:702,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:703,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:704,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - info
    - is_get
    - r1
    - r2
    argTypes:
    - struct info*
    - bool
    - struct regexp*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 660
    functionDepth: 6
    functionLinenumber: 660
    functionLinenumberEnd: 707
    functionName: disjoint_check
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - exn_printf_line
    - regexp_to_fa
    - fa_example
    - FREE
    - ref
    - enc_format
    - fa_free
    - fa_is_basic
    - free
    - fa_intersect
    linkageType: ''
    returnType: struct value
    signature: "struct value *disjoint_check(struct info *info, bool is_get,\n                                    struct
      regexp *r1, struct regexp *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: disjoint_check
      Src: /src/augeas/src/lens.c:713,1
    - Dst: disjoint_check
      Src: /src/augeas/src/lens.c:715,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:718,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:719,1
    - Dst: free
      Src: /src/augeas/src/lens.c:720,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:722,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:723,1
    - Dst: free
      Src: /src/augeas/src/lens.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - info
    - l1
    - l2
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 7
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: typecheck_union
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - format_info
    - disjoint_check
    - exn_printf_line
    - free
    linkageType: ''
    returnType: struct value
    signature: "struct value *typecheck_union(struct info *info,\n                                     struct
      lens *l1, struct lens *l2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fa_ambig_example
      Src: /src/augeas/src/lens.c:738,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:740,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:740,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/lens.c:744,1
    - Dst: enc_format
      Src: /src/augeas/src/lens.c:754,1
    - Dst: enc_format
      Src: /src/augeas/src/lens.c:755,1
    - Dst: enc_format
      Src: /src/augeas/src/lens.c:756,1
    - Dst: enc_format
      Src: /src/augeas/src/lens.c:757,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:757,1
    - Dst: enc_format
      Src: /src/augeas/src/lens.c:758,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:758,1
    - Dst: lns_format_atype
      Src: /src/augeas/src/lens.c:759,1
    - Dst: lns_format_atype
      Src: /src/augeas/src/lens.c:760,1
    - Dst: escape
      Src: /src/augeas/src/lens.c:762,1
    - Dst: escape
      Src: /src/augeas/src/lens.c:763,1
    - Dst: escape
      Src: /src/augeas/src/lens.c:764,1
    - Dst: escape
      Src: /src/augeas/src/lens.c:765,1
    - Dst: escape
      Src: /src/augeas/src/lens.c:766,1
    - Dst: regexp_escape
      Src: /src/augeas/src/lens.c:767,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:767,1
    - Dst: regexp_escape
      Src: /src/augeas/src/lens.c:768,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:768,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:770,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:770,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:772,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:774,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:775,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:777,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:778,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:779,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:780,1
    - Dst: free
      Src: /src/augeas/src/lens.c:781,1
    - Dst: free
      Src: /src/augeas/src/lens.c:782,1
    - Dst: free
      Src: /src/augeas/src/lens.c:783,1
    - Dst: free
      Src: /src/augeas/src/lens.c:784,1
    - Dst: free
      Src: /src/augeas/src/lens.c:785,1
    - Dst: free
      Src: /src/augeas/src/lens.c:786,1
    - Dst: free
      Src: /src/augeas/src/lens.c:787,1
    - Dst: free
      Src: /src/augeas/src/lens.c:789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 8
    argNames:
    - info
    - fa1
    - fa2
    - typ
    - l1
    - l2
    - msg
    - iterated
    argTypes:
    - struct info*
    - struct fa*
    - struct fa*
    - enum lens_type
    - struct lens*
    - struct lens*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 729
    functionDepth: 7
    functionLinenumber: 729
    functionLinenumberEnd: 791
    functionName: ambig_check
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - fa_ambig_example
    - exn_printf_line
    - ERR_REPORT
    - ref
    - escape
    - enc_format
    - free
    - lns_format_atype
    - strlen
    - regexp_escape
    - ltype
    linkageType: ''
    returnType: struct value
    signature: "struct value *\nambig_check(struct info *info, struct fa *fa1, struct
      fa *fa2,\n            enum lens_type typ,  struct lens *l1, struct lens *l2,\n
      \           const char *msg, bool iterated)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ltype
      Src: /src/augeas/src/lens.c:799,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:800,1
    - Dst: regexp_to_fa
      Src: /src/augeas/src/lens.c:805,1
    - Dst: regexp_to_fa
      Src: /src/augeas/src/lens.c:809,1
    - Dst: ambig_check
      Src: /src/augeas/src/lens.c:813,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:815,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - info
    - msg
    - typ
    - l1
    - l2
    argTypes:
    - struct info*
    - char*
    - enum lens_type
    - struct lens*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 793
    functionDepth: 8
    functionLinenumber: 793
    functionLinenumberEnd: 818
    functionName: ambig_concat_check
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - regexp_to_fa
    - ambig_check
    - ltype
    - fa_free
    linkageType: ''
    returnType: struct value
    signature: "struct value *\nambig_concat_check(struct info *info, const char *msg,\n
      \                  enum lens_type typ, struct lens *l1, struct lens *l2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ambig_concat_check
      Src: /src/augeas/src/lens.c:824,1
    - Dst: ambig_concat_check
      Src: /src/augeas/src/lens.c:827,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:831,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:832,1
    - Dst: free
      Src: /src/augeas/src/lens.c:833,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:834,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:835,1
    - Dst: free
      Src: /src/augeas/src/lens.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - info
    - l1
    - l2
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 820
    functionDepth: 9
    functionLinenumber: 820
    functionLinenumberEnd: 839
    functionName: typecheck_concat
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - format_info
    - ambig_concat_check
    - exn_printf_line
    - free
    linkageType: ''
    returnType: struct value
    signature: "struct value *typecheck_concat(struct info *info,\n                                      struct
      lens *l1, struct lens *l2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:845,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:845,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:847,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:848,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:849,1
    - Dst: free
      Src: /src/augeas/src/lens.c:850,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:851,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:852,1
    - Dst: free
      Src: /src/augeas/src/lens.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - info
    - l1
    - l2
    - msg
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 855
    functionName: make_exn_square
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - exn_printf_line
    - ref
    - format_info
    - free
    linkageType: ''
    returnType: struct value
    signature: "struct value *make_exn_square(struct info *info, struct lens *l1,\n
      \                                    struct lens *l2, const char *msg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ltype
      Src: /src/augeas/src/lens.c:862,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:863,1
    - Dst: regexp_to_fa
      Src: /src/augeas/src/lens.c:868,1
    - Dst: regexp_to_fa
      Src: /src/augeas/src/lens.c:872,1
    - Dst: fa_equals
      Src: /src/augeas/src/lens.c:876,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:879,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:879,1
    - Dst: ERR_REPORT
      Src: /src/augeas/src/lens.c:883,1
    - Dst: make_exn_square
      Src: /src/augeas/src/lens.c:889,1
    - Dst: STREQ
      Src: /src/augeas/src/lens.c:896,1
    - Dst: make_exn_square
      Src: /src/augeas/src/lens.c:897,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:904,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:905,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - info
    - l1
    - l2
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 857
    functionDepth: 6
    functionLinenumber: 857
    functionLinenumberEnd: 907
    functionName: typecheck_square
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_exn_value
    - make_exn_square
    - regexp_to_fa
    - ERR_REPORT
    - ref
    - STREQ
    - fa_free
    - fa_equals
    - ltype
    linkageType: ''
    returnType: struct value
    signature: "struct value *typecheck_square(struct info *info, struct lens *l1,\n
      \                                     struct lens *l2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ltype
      Src: /src/augeas/src/lens.c:914,1
    - Dst: regexp_to_fa
      Src: /src/augeas/src/lens.c:919,1
    - Dst: fa_iter
      Src: /src/augeas/src/lens.c:923,1
    - Dst: ambig_check
      Src: /src/augeas/src/lens.c:925,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:928,1
    - Dst: fa_free
      Src: /src/augeas/src/lens.c:929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - info
    - msg
    - typ
    - l
    argTypes:
    - struct info*
    - char*
    - enum lens_type
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 909
    functionDepth: 8
    functionLinenumber: 909
    functionLinenumberEnd: 931
    functionName: ambig_iter_check
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ambig_check
    - regexp_to_fa
    - fa_free
    - fa_iter
    - ltype
    linkageType: ''
    returnType: struct value
    signature: "struct value *\nambig_iter_check(struct info *info, const char *msg,\n
      \                enum lens_type typ, struct lens *l)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ambig_iter_check
      Src: /src/augeas/src/lens.c:936,1
    - Dst: ambig_iter_check
      Src: /src/augeas/src/lens.c:938,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:941,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:942,1
    - Dst: free
      Src: /src/augeas/src/lens.c:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - info
    - l
    argTypes:
    - struct info*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 9
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: typecheck_iter
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - format_info
    - exn_printf_line
    - free
    - ambig_iter_check
    linkageType: ''
    returnType: struct value
    signature: struct value *typecheck_iter(struct info *info, struct lens *l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regexp_matches_empty
      Src: /src/augeas/src/lens.c:952,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:953,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:953,1
    - Dst: regexp_matches_empty
      Src: /src/augeas/src/lens.c:965,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:966,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - info
    - l
    argTypes:
    - struct info*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 948
    functionDepth: 5
    functionLinenumber: 948
    functionLinenumberEnd: 971
    functionName: typecheck_maybe
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_exn_value
    - ref
    - regexp_matches_empty
    linkageType: ''
    returnType: struct value
    signature: struct value *typecheck_maybe(struct info *info, struct lens *l)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/lens.c:976,1
    - Dst: debugging
      Src: /src/augeas/src/lens.c:978,1
    - Dst: dump_lens_tree
      Src: /src/augeas/src/lens.c:979,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:982,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:983,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:987,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:993,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:999,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1004,1
    - Dst: free
      Src: /src/augeas/src/lens.c:1005,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1009,1
    - Dst: BUG_LENS_TAG
      Src: /src/augeas/src/lens.c:1013,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1018,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:1018,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1020,1
    - Dst: jmt_free
      Src: /src/augeas/src/lens.c:1021,1
    - Dst: free
      Src: /src/augeas/src/lens.c:1022,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - lens
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 1025
    functionName: free_lens
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - dump_lens_tree
    - debugging
    - ensure
    - ltype
    - unref
    - BUG_LENS_TAG
    - jmt_free
    - free
    linkageType: ''
    returnType: void
    signature: void free_lens(struct lens *lens)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: regexp_release
      Src: /src/augeas/src/lens.c:1032,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:1032,1
    - Dst: regexp_release
      Src: /src/augeas/src/lens.c:1035,1
    - Dst: lens_release
      Src: /src/augeas/src/lens.c:1039,1
    - Dst: lens_release
      Src: /src/augeas/src/lens.c:1044,1
    - Dst: lens_release
      Src: /src/augeas/src/lens.c:1049,1
    - Dst: jmt_free
      Src: /src/augeas/src/lens.c:1052,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - lens
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1054
    functionName: lens_release
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 5
    functionsReached:
    - jmt_free
    - lens_release
    - ltype
    - regexp_release
    linkageType: ''
    returnType: void
    signature: void lens_release(struct lens *lens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enc_format_indent
      Src: /src/augeas/src/lens.c:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1061
    functionName: enc_format
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 2
    functionsReached:
    - enc_format_indent
    linkageType: ''
    returnType: char
    signature: char *enc_format(const char *e, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/augeas/src/lens.c:1070,1
    - Dst: assert
      Src: /src/augeas/src/lens.c:1071,1
    - Dst: strchr
      Src: /src/augeas/src/lens.c:1072,1
    - Dst: assert
      Src: /src/augeas/src/lens.c:1073,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:1085,1
    - Dst: strchr
      Src: /src/augeas/src/lens.c:1092,1
    - Dst: strchr
      Src: /src/augeas/src/lens.c:1093,1
    - Dst: assert
      Src: /src/augeas/src/lens.c:1094,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1099,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1101,1
    - Dst: stpncpy
      Src: /src/augeas/src/lens.c:1102,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1103,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1106,1
    - Dst: stpncpy
      Src: /src/augeas/src/lens.c:1107,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1108,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - e
    - len
    - indent
    argTypes:
    - char*
    - size_t
    - int
    assertStmts:
    - condition: (slash != NULL)
      pos:
        line_end: 1072
        line_start: 1072
        source_file: /src/augeas/src/lens.c
    - condition: (eq != NULL)
      pos:
        line_end: 1070
        line_start: 1070
        source_file: /src/augeas/src/lens.c
    - condition: (eq != NULL && slash != NULL)
      pos:
        line_end: 1093
        line_start: 1093
        source_file: /src/augeas/src/lens.c
    constantsTouched: []
    func_position:
      end: 1116
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1116
    functionName: enc_format_indent
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 3
    functionsReached:
    - ALLOC_N
    - strchr
    - stpncpy
    - stpcpy
    - assert
    linkageType: ''
    returnType: char
    signature: char *enc_format_indent(const char *e, size_t len, int indent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:1121,1
    - Dst: memset
      Src: /src/augeas/src/lens.c:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - indent
    argTypes:
    - char**
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1125
    functionName: format_indent
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 3
    functionsReached:
    - memset
    - ALLOC_N
    linkageType: ''
    returnType: int
    signature: int format_indent(char **buf, uint indent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: format_indent
      Src: /src/augeas/src/lens.c:1134,1
    - Dst: regexp_escape
      Src: /src/augeas/src/lens.c:1138,1
    - Dst: regexp_escape
      Src: /src/augeas/src/lens.c:1143,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1147,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1149,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1152,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1154,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1161,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1162,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - l
    - buf
    - indent
    argTypes:
    - struct lens*
    - char**
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1165
    functionName: format_subtree_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - regexp_escape
    - xasprintf
    - FREE
    - format_indent
    linkageType: ''
    returnType: int
    signature: int format_subtree_atype(struct lens *l, char **buf, uint indent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: format_atype
      Src: /src/augeas/src/lens.c:1172,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1175,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1183,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1185,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - l
    - buf
    - indent
    - quant
    argTypes:
    - struct lens*
    - char**
    - uint
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1194
    functionName: format_rep_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - strlen
    - xasprintf
    - FREE
    - format_atype
    linkageType: ''
    returnType: int
    signature: "int format_rep_atype(struct lens *l, char **buf,\n                            uint
      indent, char quant)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:1201,1
    - Dst: format_atype
      Src: /src/augeas/src/lens.c:1205,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1208,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1209,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:1215,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1220,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1230,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1241,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1242,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1243,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - l
    - buf
    - indent
    argTypes:
    - struct lens*
    - char**
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1245
    functionName: format_concat_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - FREE
    - format_atype
    - strlen
    - stpcpy
    linkageType: ''
    returnType: int
    signature: int format_concat_atype(struct lens *l, char **buf, uint indent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:1252,1
    - Dst: format_atype
      Src: /src/augeas/src/lens.c:1259,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1263,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1263,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1264,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:1270,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1278,1
    - Dst: stpncpy
      Src: /src/augeas/src/lens.c:1280,1
    - Dst: memset
      Src: /src/augeas/src/lens.c:1285,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1288,1
    - Dst: strlen
      Src: /src/augeas/src/lens.c:1293,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1294,1
    - Dst: stpcpy
      Src: /src/augeas/src/lens.c:1296,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1304,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1305,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1306,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - l
    - buf
    - indent
    argTypes:
    - struct lens*
    - char**
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1308
    functionName: format_union_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - FREE
    - stpncpy
    - format_atype
    - strlen
    - stpcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int format_union_atype(struct lens *l, char **buf, uint indent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/lens.c:1314,1
    - Dst: format_atype
      Src: /src/augeas/src/lens.c:1319,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1322,1
    - Dst: free
      Src: /src/augeas/src/lens.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - l
    - buf
    - indent
    argTypes:
    - struct lens*
    - char**
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1325
    functionName: format_rec_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - format_atype
    - xasprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: int format_rec_atype(struct lens *l, char **buf, uint indent)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/augeas/src/lens.c:1338,1
    - Dst: format_subtree_atype
      Src: /src/augeas/src/lens.c:1342,1
    - Dst: format_rep_atype
      Src: /src/augeas/src/lens.c:1345,1
    - Dst: format_rep_atype
      Src: /src/augeas/src/lens.c:1348,1
    - Dst: format_concat_atype
      Src: /src/augeas/src/lens.c:1351,1
    - Dst: format_union_atype
      Src: /src/augeas/src/lens.c:1354,1
    - Dst: format_rec_atype
      Src: /src/augeas/src/lens.c:1357,1
    - Dst: format_concat_atype
      Src: /src/augeas/src/lens.c:1360,1
    - Dst: BUG_LENS_TAG
      Src: /src/augeas/src/lens.c:1363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - l
    - buf
    - indent
    argTypes:
    - struct lens*
    - char**
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1327
    functionDepth: 3
    functionLinenumber: 1327
    functionLinenumberEnd: 1367
    functionName: format_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 8
    functionsReached:
    - format_concat_atype
    - format_rep_atype
    - format_rec_atype
    - strdup
    - BUG_LENS_TAG
    - format_subtree_atype
    - format_union_atype
    linkageType: ''
    returnType: int
    signature: int format_atype(struct lens *l, char **buf, uint indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_atype
      Src: /src/augeas/src/lens.c:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - buf
    argTypes:
    - struct lens*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1369
    functionDepth: 4
    functionLinenumber: 1369
    functionLinenumberEnd: 1373
    functionName: lns_format_atype
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 4
    functionsReached:
    - format_atype
    linkageType: ''
    returnType: int
    signature: int lns_format_atype(struct lens *l, char **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_lens
      Src: /src/augeas/src/lens.c:1379,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1384
    functionName: lns_make_rec
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_lens_value
    - make_lens
    linkageType: ''
    returnType: struct value
    signature: struct value *lns_make_rec(struct info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rtn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1476
    functionName: RTN_BAIL
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTN_BAIL(rtn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unref
      Src: /src/augeas/src/lens.c:1480,1
    - Dst: free
      Src: /src/augeas/src/lens.c:1481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - prod
    argTypes:
    - struct prod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1482
    functionName: free_prod
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - free
    - unref
    linkageType: ''
    returnType: void
    signature: void free_prod(struct prod *prod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_prod
      Src: /src/augeas/src/lens.c:1488,1
    - Dst: free
      Src: /src/augeas/src/lens.c:1489,1
    - Dst: list_for_each
      Src: /src/augeas/src/lens.c:1490,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1492,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1493,1
    - Dst: free
      Src: /src/augeas/src/lens.c:1495,1
    - Dst: list_free
      Src: /src/augeas/src/lens.c:1497,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1498,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1499,1
    - Dst: free
      Src: /src/augeas/src/lens.c:1500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - rtn
    argTypes:
    - struct rtn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1501
    functionName: free_rtn
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - list_free
    - list_for_each
    - free_prod
    - unref
    - free
    linkageType: ''
    returnType: void
    signature: void free_rtn(struct rtn *rtn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/lens.c:1507,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1508,1
    - Dst: list_cons
      Src: /src/augeas/src/lens.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - prod
    argTypes:
    - struct prod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1513
    functionName: add_state
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 13
    functionsReached:
    - list_cons
    - ERR_NOMEM
    - ALLOC
    linkageType: ''
    returnType: struct state
    signature: struct state *add_state(struct prod *prod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC_N
      Src: /src/augeas/src/lens.c:1524,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1525,1
    - Dst: MEMZERO
      Src: /src/augeas/src/lens.c:1530,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:1533,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:1534,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:1534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - rtn
    - state
    - to
    - l
    argTypes:
    - struct rtn*
    - struct state*
    - struct state*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1538
    functionName: add_trans
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - REALLOC_N
    - MEMZERO
    - ref
    - ERR_NOMEM
    - ltype
    linkageType: ''
    returnType: struct trans
    signature: "struct trans *add_trans(struct rtn *rtn, struct state *state,\n                               struct
      state *to, struct lens *l)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/lens.c:1544,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1545,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:1547,1
    - Dst: ALLOC
      Src: /src/augeas/src/lens.c:1548,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1549,1
    - Dst: add_state
      Src: /src/augeas/src/lens.c:1551,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/lens.c:1552,1
    - Dst: free_prod
      Src: /src/augeas/src/lens.c:1559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - rtn
    - l
    argTypes:
    - struct rtn*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1540
    functionDepth: 2
    functionLinenumber: 1540
    functionLinenumberEnd: 1561
    functionName: make_prod
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - add_state
    - ref
    - ERR_BAIL
    - free_prod
    - ERR_NOMEM
    - ALLOC
    linkageType: ''
    returnType: struct prod
    signature: struct prod *make_prod(struct rtn *rtn, struct lens *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rtn
    - l
    argTypes:
    - struct rtn*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1571
    functionName: prod_for_lens
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct prod
    signature: struct prod *prod_for_lens(struct rtn *rtn, struct lens *l)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: debug_fopen
      Src: /src/augeas/src/lens.c:1577,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:1581,1
    - Dst: list_for_each
      Src: /src/augeas/src/lens.c:1582,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1586,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1588,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1590,1
    - Dst: xasprintf
      Src: /src/augeas/src/lens.c:1593,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1594,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:1596,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1597,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:1599,1
    - Dst: regexp_escape
      Src: /src/augeas/src/lens.c:1601,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:1605,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1606,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:1608,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:1612,1
    - Dst: fclose
      Src: /src/augeas/src/lens.c:1613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - rtn
    - stage
    argTypes:
    - struct rtn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1573
    functionDepth: 2
    functionLinenumber: 1573
    functionLinenumberEnd: 1614
    functionName: rtn_dot
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - fprintf
    - xasprintf
    - FREE
    - debug_fopen
    - fclose
    - regexp_escape
    - list_for_each
    - ERR_NOMEM
    linkageType: ''
    returnType: void
    signature: void rtn_dot(struct rtn *rtn, const char *stage)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: prod_for_lens
      Src: /src/augeas/src/lens.c:1621,1
    - Dst: REALLOC_N
      Src: /src/augeas/src/lens.c:1625,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1626,1
    - Dst: make_prod
      Src: /src/augeas/src/lens.c:1628,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1630,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1639,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1640,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1641,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1642,1
    - Dst: add_state
      Src: /src/augeas/src/lens.c:1648,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1649,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1650,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1651,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1653,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1654,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1658,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1659,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1660,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1661,1
    - Dst: add_state
      Src: /src/augeas/src/lens.c:1666,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1667,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1668,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1669,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1670,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1671,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1672,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1673,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1674,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1675,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1683,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1687,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1688,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1689,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1690,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1695,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1696,1
    - Dst: subtree_atype
      Src: /src/augeas/src/lens.c:1697,1
    - Dst: BUG_ON
      Src: /src/augeas/src/lens.c:1701,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1707,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1708,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1709,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1710,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1711,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1712,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1716,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1717,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1718,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1719,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1722,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1723,1
    - Dst: BUG_LENS_TAG
      Src: /src/augeas/src/lens.c:1726,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 93
    argCount: 2
    argNames:
    - rtn
    - l
    argTypes:
    - struct rtn*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1617
    functionDepth: 3
    functionLinenumber: 1617
    functionLinenumberEnd: 1731
    functionName: rtn_rules
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - REALLOC_N
    - add_state
    - subtree_atype
    - RTN_BAIL
    - add_trans
    - prod_for_lens
    - rtn_rules
    - BUG_LENS_TAG
    - make_prod
    - ERR_NOMEM
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: void rtn_rules(struct rtn *rtn, struct lens *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1740,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/lens.c:1741,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - rtn
    - from
    - to
    - t
    argTypes:
    - struct rtn*
    - struct prod*
    - struct prod*
    - struct trans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1737
    functionDepth: 2
    functionLinenumber: 1737
    functionLinenumberEnd: 1747
    functionName: prod_splice
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - add_trans
    - unref
    - ERR_BAIL
    linkageType: ''
    returnType: void
    signature: "void prod_splice(struct rtn *rtn,\n                        struct
      prod *from, struct prod *to, struct trans *t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prod_for_lens
      Src: /src/augeas/src/lens.c:1752,1
    - Dst: prod_splice
      Src: /src/augeas/src/lens.c:1754,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - rtn
    - prod
    argTypes:
    - struct rtn*
    - struct prod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1749
    functionDepth: 3
    functionLinenumber: 1749
    functionLinenumberEnd: 1761
    functionName: rtn_splice
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - prod_for_lens
    - prod_splice
    - RTN_BAIL
    linkageType: ''
    returnType: void
    signature: void rtn_splice(struct rtn *rtn, struct prod *prod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/augeas/src/lens.c:1767,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1768,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:1770,1
    - Dst: rtn_rules
      Src: /src/augeas/src/lens.c:1773,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1774,1
    - Dst: debugging
      Src: /src/augeas/src/lens.c:1775,1
    - Dst: rtn_dot
      Src: /src/augeas/src/lens.c:1776,1
    - Dst: rtn_splice
      Src: /src/augeas/src/lens.c:1779,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1780,1
    - Dst: debugging
      Src: /src/augeas/src/lens.c:1782,1
    - Dst: rtn_dot
      Src: /src/augeas/src/lens.c:1783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - rec
    - lt
    argTypes:
    - struct lens*
    - enum lens_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1763
    functionDepth: 4
    functionLinenumber: 1763
    functionLinenumberEnd: 1787
    functionName: rtn_build
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ref
    - debugging
    - rtn_dot
    - rtn_splice
    - RTN_BAIL
    - ERR_NOMEM
    - rtn_rules
    - ALLOC
    linkageType: ''
    returnType: struct rtn
    signature: struct rtn *rtn_build(struct lens *rec, enum lens_type lt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1800
    functionName: trans_to_cmp
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trans_to_cmp(const void *v1, const void *v2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ref
      Src: /src/augeas/src/lens.c:1825,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:1827,1
    - Dst: regexp_concat
      Src: /src/augeas/src/lens.c:1829,1
    - Dst: regexp_iter
      Src: /src/augeas/src/lens.c:1831,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1832,1
    - Dst: regexp_concat
      Src: /src/augeas/src/lens.c:1838,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1839,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1840,1
    - Dst: regexp_concat
      Src: /src/augeas/src/lens.c:1846,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1847,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1848,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1853,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1854,1
    - Dst: regexp_matches_empty
      Src: /src/augeas/src/lens.c:1857,1
    - Dst: regexp_maybe
      Src: /src/augeas/src/lens.c:1860,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1861,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1862,1
    - Dst: regexp_matches_empty
      Src: /src/augeas/src/lens.c:1865,1
    - Dst: regexp_maybe
      Src: /src/augeas/src/lens.c:1866,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1867,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1869,1
    - Dst: regexp_union
      Src: /src/augeas/src/lens.c:1872,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1873,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1874,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1876,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 6
    argNames:
    - rtn
    - s1
    - s2
    - r1
    - loop
    - r2
    argTypes:
    - struct rtn*
    - struct state*
    - struct state*
    - struct regexp*
    - struct regexp*
    - struct regexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1807
    functionDepth: 5
    functionLinenumber: 1807
    functionLinenumberEnd: 1883
    functionName: collapse_trans
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - regexp_concat
    - regexp_matches_empty
    - regexp_iter
    - ref
    - add_trans
    - regexp_maybe
    - regexp_union
    - unref
    - ERR_NOMEM
    linkageType: ''
    returnType: void
    signature: "void collapse_trans(struct rtn *rtn,\n                           struct
      state *s1, struct state *s2,\n                           struct regexp *r1,
      struct regexp *loop,\n                           struct regexp *r2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: prod_for_lens
      Src: /src/augeas/src/lens.c:1893,1
    - Dst: ERR_THROW
      Src: /src/augeas/src/lens.c:1896,1
    - Dst: list_for_each
      Src: /src/augeas/src/lens.c:1901,1
    - Dst: qsort
      Src: /src/augeas/src/lens.c:1902,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:1909,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1910,1
    - Dst: regexp_union_n
      Src: /src/augeas/src/lens.c:1913,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1920,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1921,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1924,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1926,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:1927,1
    - Dst: MEMMOVE
      Src: /src/augeas/src/lens.c:1930,1
    - Dst: ALLOC
      Src: /src/augeas/src/lens.c:1942,1
    - Dst: ALLOC
      Src: /src/augeas/src/lens.c:1942,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1943,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:1944,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:1945,1
    - Dst: list_insert_before
      Src: /src/augeas/src/lens.c:1947,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1951,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1952,1
    - Dst: add_trans
      Src: /src/augeas/src/lens.c:1953,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1954,1
    - Dst: list_for_each
      Src: /src/augeas/src/lens.c:1970,1
    - Dst: ensure
      Src: /src/augeas/src/lens.c:1976,1
    - Dst: list_for_each
      Src: /src/augeas/src/lens.c:1980,1
    - Dst: collapse_trans
      Src: /src/augeas/src/lens.c:1989,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:1992,1
    - Dst: ensure
      Src: /src/augeas/src/lens.c:2003,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2004,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 2
    argNames:
    - rtn
    - rec
    argTypes:
    - struct rtn*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1892
    functionDepth: 6
    functionLinenumber: 1892
    functionLinenumberEnd: 2010
    functionName: rtn_reduce
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - ALLOC_N
    - ERR_THROW
    - FREE
    - collapse_trans
    - ref
    - RTN_BAIL
    - list_insert_before
    - prod_for_lens
    - add_trans
    - ensure
    - qsort
    - list_for_each
    - unref
    - regexp_union_n
    - MEMMOVE
    - ERR_NOMEM
    - ALLOC
    linkageType: ''
    returnType: struct regexp
    signature: struct regexp *rtn_reduce(struct rtn *rtn, struct lens *rec)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2016,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:2021,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:2022,1
    - Dst: propagate_type
      Src: /src/augeas/src/lens.c:2024,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2025,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2027,1
    - Dst: regexp_concat_n
      Src: /src/augeas/src/lens.c:2027,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:2028,1
    - Dst: ALLOC_N
      Src: /src/augeas/src/lens.c:2031,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:2032,1
    - Dst: propagate_type
      Src: /src/augeas/src/lens.c:2034,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2035,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2037,1
    - Dst: regexp_union_n
      Src: /src/augeas/src/lens.c:2037,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:2038,1
    - Dst: propagate_type
      Src: /src/augeas/src/lens.c:2041,1
    - Dst: subtree_atype
      Src: /src/augeas/src/lens.c:2043,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2045,1
    - Dst: propagate_type
      Src: /src/augeas/src/lens.c:2048,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2049,1
    - Dst: regexp_iter
      Src: /src/augeas/src/lens.c:2049,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2049,1
    - Dst: propagate_type
      Src: /src/augeas/src/lens.c:2052,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2053,1
    - Dst: regexp_maybe
      Src: /src/augeas/src/lens.c:2053,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2053,1
    - Dst: propagate_type
      Src: /src/augeas/src/lens.c:2059,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2060,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2060,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2060,1
    - Dst: BUG_LENS_TAG
      Src: /src/augeas/src/lens.c:2063,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:2068,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - l
    - lt
    argTypes:
    - struct lens*
    - enum lens_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2012
    functionDepth: 4
    functionLinenumber: 2012
    functionLinenumberEnd: 2069
    functionName: propagate_type
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - BUG_LENS_TAG
    - regexp_concat_n
    - ALLOC_N
    - regexp_iter
    - subtree_atype
    - FREE
    - ref
    - regexp_maybe
    - propagate_type
    - regexp_union_n
    - ERR_NOMEM
    - ltype
    linkageType: ''
    returnType: void
    signature: void propagate_type(struct lens *l, enum lens_type lt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/augeas/src/lens.c:2078,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:2079,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2081,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - struct info*
    - struct info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2076
    functionDepth: 1
    functionLinenumber: 2076
    functionLinenumberEnd: 2092
    functionName: merge_info
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - unref
    - ref
    - ERR_NOMEM
    - make_ref
    linkageType: ''
    returnType: struct info
    signature: struct info *merge_info(struct info *i1, struct info *i2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/lens.c:2099,1
    - Dst: typecheck
      Src: /src/augeas/src/lens.c:2101,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2105,1
    - Dst: merge_info
      Src: /src/augeas/src/lens.c:2107,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:2108,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2109,1
    - Dst: EXN
      Src: /src/augeas/src/lens.c:2110,1
    - Dst: ensure
      Src: /src/augeas/src/lens.c:2112,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2113,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:2114,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:2119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - l
    - make
    - check
    argTypes:
    - struct lens*
    - typecheck_n_make*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2094
    functionDepth: 2
    functionLinenumber: 2094
    functionLinenumberEnd: 2121
    functionName: typecheck_n
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - merge_info
    - EXN
    - ref
    - ensure
    - unref
    - typecheck
    - ERR_NOMEM
    linkageType: ''
    returnType: struct value
    signature: "struct value *typecheck_n(struct lens *l,\n                                 typecheck_n_make
      *make, int check)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: typecheck_n
      Src: /src/augeas/src/lens.c:2132,1
    - Dst: typecheck_n
      Src: /src/augeas/src/lens.c:2135,1
    - Dst: typecheck
      Src: /src/augeas/src/lens.c:2139,1
    - Dst: typecheck_iter
      Src: /src/augeas/src/lens.c:2143,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:2145,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:2147,1
    - Dst: typecheck_maybe
      Src: /src/augeas/src/lens.c:2151,1
    - Dst: BUG_LENS_TAG
      Src: /src/augeas/src/lens.c:2159,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - l
    - check
    argTypes:
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2123
    functionDepth: 10
    functionLinenumber: 2123
    functionLinenumberEnd: 2164
    functionName: typecheck
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 3
    functionsReached:
    - make_exn_value
    - typecheck_iter
    - BUG_LENS_TAG
    - typecheck
    - typecheck_n
    - typecheck_maybe
    linkageType: ''
    returnType: struct value
    signature: struct value *typecheck(struct lens *l, int check)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtn_build
      Src: /src/augeas/src/lens.c:2170,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:2171,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2172,1
    - Dst: rtn_reduce
      Src: /src/augeas/src/lens.c:2172,1
    - Dst: RTN_BAIL
      Src: /src/augeas/src/lens.c:2173,1
    - Dst: debugging
      Src: /src/augeas/src/lens.c:2174,1
    - Dst: rtn_dot
      Src: /src/augeas/src/lens.c:2175,1
    - Dst: propagate_type
      Src: /src/augeas/src/lens.c:2177,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/lens.c:2178,1
    - Dst: free_rtn
      Src: /src/augeas/src/lens.c:2181,1
    - Dst: debugging
      Src: /src/augeas/src/lens.c:2183,1
    - Dst: printf
      Src: /src/augeas/src/lens.c:2184,1
    - Dst: print_regexp
      Src: /src/augeas/src/lens.c:2185,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2185,1
    - Dst: printf
      Src: /src/augeas/src/lens.c:2186,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - rec
    - lt
    argTypes:
    - struct lens*
    - enum lens_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2166
    functionDepth: 7
    functionLinenumber: 2166
    functionLinenumberEnd: 2196
    functionName: rtn_approx
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - free_rtn
    - print_regexp
    - rtn_build
    - debugging
    - rtn_dot
    - ERR_BAIL
    - RTN_BAIL
    - ref
    - printf
    - propagate_type
    - rtn_reduce
    - ltype
    linkageType: ''
    returnType: struct value
    signature: struct value *rtn_approx(struct lens *rec, enum lens_type lt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:2204,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2204,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:2206,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:2207,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:2208,1
    - Dst: format_info
      Src: /src/augeas/src/lens.c:2210,1
    - Dst: exn_printf_line
      Src: /src/augeas/src/lens.c:2211,1
    - Dst: FREE
      Src: /src/augeas/src/lens.c:2212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - lens
    - l1
    - l2
    argTypes:
    - struct lens*
    - struct lens*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2198
    functionDepth: 3
    functionLinenumber: 2198
    functionLinenumberEnd: 2215
    functionName: exn_multiple_epsilons
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 0
    functionsReached:
    - make_exn_value
    - exn_printf_line
    - ref
    - FREE
    - format_info
    linkageType: ''
    returnType: struct value
    signature: "struct value *\nexn_multiple_epsilons(struct lens *lens,\n                      struct
      lens *l1, struct lens *l2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ctype_nullable
      Src: /src/augeas/src/lens.c:2231,1
    - Dst: ctype_nullable
      Src: /src/augeas/src/lens.c:2239,1
    - Dst: exn_multiple_epsilons
      Src: /src/augeas/src/lens.c:2243,1
    - Dst: ctype_nullable
      Src: /src/augeas/src/lens.c:2254,1
    - Dst: BUG_LENS_TAG
      Src: /src/augeas/src/lens.c:2265,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - lens
    - exn
    argTypes:
    - struct lens*
    - struct value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2219
    functionDepth: 4
    functionLinenumber: 2219
    functionLinenumberEnd: 2275
    functionName: ctype_nullable
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - exn_multiple_epsilons
    - BUG_LENS_TAG
    - ctype_nullable
    linkageType: ''
    returnType: int
    signature: int ctype_nullable(struct lens *lens, struct value **exn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/augeas/src/lens.c:2284,1
    - Dst: ensure
      Src: /src/augeas/src/lens.c:2285,1
    - Dst: make_lens_value
      Src: /src/augeas/src/lens.c:2289,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2289,1
    - Dst: ERR_NOMEM
      Src: /src/augeas/src/lens.c:2290,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/augeas/src/lens.c:2304,1
    - Dst: rtn_approx
      Src: /src/augeas/src/lens.c:2305,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/lens.c:2306,1
    - Dst: make_exn_value
      Src: /src/augeas/src/lens.c:2310,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2310,1
    - Dst: ctype_nullable
      Src: /src/augeas/src/lens.c:2320,1
    - Dst: typecheck
      Src: /src/augeas/src/lens.c:2325,1
    - Dst: lns_make_rec
      Src: /src/augeas/src/lens.c:2329,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2329,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2332,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2332,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2332,1
    - Dst: ref
      Src: /src/augeas/src/lens.c:2337,1
    - Dst: jmt_build
      Src: /src/augeas/src/lens.c:2342,1
    - Dst: ERR_BAIL
      Src: /src/augeas/src/lens.c:2343,1
    - Dst: unref
      Src: /src/augeas/src/lens.c:2348,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - info
    - body
    - rec
    - check
    argTypes:
    - struct info*
    - struct lens*
    - struct lens*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2277
    functionDepth: 8
    functionLinenumber: 2277
    functionLinenumberEnd: 2352
    functionName: lns_check_rec
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - make_exn_value
    - ctype_nullable
    - make_lens_value
    - ref
    - ARRAY_CARDINALITY
    - lns_make_rec
    - ERR_BAIL
    - jmt_build
    - ensure
    - rtn_approx
    - unref
    - typecheck
    - ERR_NOMEM
    - ltype
    linkageType: ''
    returnType: struct value
    signature: "struct value *lns_check_rec(struct info *info,\n                            struct
      lens *body, struct lens *rec,\n                            int check)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_fopen
      Src: /src/augeas/src/lens.c:2359,1
    - Dst: ltag
      Src: /src/augeas/src/lens.c:2359,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2363,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2364,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2365,1
    - Dst: fclose
      Src: /src/augeas/src/lens.c:2367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lens
    argTypes:
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2355
    functionDepth: 1
    functionLinenumber: 2355
    functionLinenumberEnd: 2368
    functionName: dump_lens_tree
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 1
    functionsReached:
    - fprintf
    - ltag
    - debug_fopen
    - fclose
    - dump_lens
    linkageType: ''
    returnType: void
    signature: void dump_lens_tree(struct lens *lens)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2374,1
    - Dst: ltag
      Src: /src/augeas/src/lens.c:2374,1
    - Dst: ltype
      Src: /src/augeas/src/lens.c:2377,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2380,1
    - Dst: print_regexp
      Src: /src/augeas/src/lens.c:2381,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2382,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2385,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2386,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2387,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2388,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2389,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2407,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2408,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2413,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2414,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2418,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2419,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2422,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2423,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2427,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2428,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2433,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2434,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2438,1
    - Dst: dump_lens
      Src: /src/augeas/src/lens.c:2439,1
    - Dst: fprintf
      Src: /src/augeas/src/lens.c:2442,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - out
    - lens
    argTypes:
    - FILE*
    - struct lens*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2370
    functionDepth: 2
    functionLinenumber: 2370
    functionLinenumberEnd: 2445
    functionName: dump_lens
    functionSourceFile: /src/augeas/src/lens.c
    functionUses: 2
    functionsReached:
    - ltag
    - fprintf
    - print_regexp
    - dump_lens
    - ltype
    linkageType: ''
    returnType: void
    signature: void dump_lens(FILE *out, struct lens *lens)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_match
      Src: /src/augeas/examples/dump.c:56,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:58,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:59,1
    - Dst: aug_error_message
      Src: /src/augeas/examples/dump.c:59,1
    - Dst: exit
      Src: /src/augeas/examples/dump.c:60,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:63,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:64,1
    - Dst: aug_get
      Src: /src/augeas/examples/dump.c:70,1
    - Dst: aug_label
      Src: /src/augeas/examples/dump.c:71,1
    - Dst: aug_source
      Src: /src/augeas/examples/dump.c:72,1
    - Dst: printf
      Src: /src/augeas/examples/dump.c:74,1
    - Dst: free
      Src: /src/augeas/examples/dump.c:75,1
    - Dst: free
      Src: /src/augeas/examples/dump.c:76,1
    - Dst: free
      Src: /src/augeas/examples/dump.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - aug
    - path
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: dump_match
    functionSourceFile: /src/augeas/examples/dump.c
    functionUses: 0
    functionsReached:
    - aug_get
    - fprintf
    - aug_match
    - exit
    - aug_source
    - free
    - aug_label
    - printf
    - aug_error_message
    linkageType: ''
    returnType: void
    signature: void dump_match(struct augeas *aug, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aug_defvar
      Src: /src/augeas/examples/dump.c:91,1
    - Dst: aug_match
      Src: /src/augeas/examples/dump.c:94,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:96,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:97,1
    - Dst: aug_error_message
      Src: /src/augeas/examples/dump.c:97,1
    - Dst: exit
      Src: /src/augeas/examples/dump.c:98,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:101,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:102,1
    - Dst: aug_ns_attr
      Src: /src/augeas/examples/dump.c:111,1
    - Dst: printf
      Src: /src/augeas/examples/dump.c:113,1
    - Dst: free
      Src: /src/augeas/examples/dump.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - aug
    - path
    argTypes:
    - struct augeas*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 7
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: dump_var
    functionSourceFile: /src/augeas/examples/dump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - aug_match
    - exit
    - free
    - printf
    - aug_defvar
    - aug_error_message
    - aug_ns_attr
    linkageType: ''
    returnType: void
    signature: void dump_var(struct augeas *aug, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: print_time_taken
    functionSourceFile: /src/augeas/examples/dump.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_time_taken(const struct timeval *start,\n                             const
      struct timeval *stop)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/augeas/examples/dump.c:131,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:137,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:138,1
    - Dst: fprintf
      Src: /src/augeas/examples/dump.c:139,1
    - Dst: exit
      Src: /src/augeas/examples/dump.c:140,1
    - Dst: aug_init
      Src: /src/augeas/examples/dump.c:145,1
    - Dst: gettimeofday
      Src: /src/augeas/examples/dump.c:150,1
    - Dst: dump_var
      Src: /src/augeas/examples/dump.c:152,1
    - Dst: dump_match
      Src: /src/augeas/examples/dump.c:154,1
    - Dst: gettimeofday
      Src: /src/augeas/examples/dump.c:156,1
    - Dst: print_time_taken
      Src: /src/augeas/examples/dump.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 8
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/augeas/examples/dump.c
    functionUses: 0
    functionsReached:
    - getopt
    - print_time_taken
    - fprintf
    - exit
    - dump_match
    - aug_init
    - gettimeofday
    - dump_var
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:45,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:46,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:47,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:48,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:49,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:50,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:51,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:52,1
    - Dst: exit
      Src: /src/augeas/examples/fadot.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: usage
    functionSourceFile: /src/augeas/examples/fadot.c
    functionUses: 3
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/augeas/examples/fadot.c:70,1
    - Dst: usage
      Src: /src/augeas/examples/fadot.c:80,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:87,1
    - Dst: isprint
      Src: /src/augeas/examples/fadot.c:88,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:89,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:91,1
    - Dst: usage
      Src: /src/augeas/examples/fadot.c:94,1
    - Dst: usage
      Src: /src/augeas/examples/fadot.c:97,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:112,1
    - Dst: usage
      Src: /src/augeas/examples/fadot.c:113,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:118,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:119,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:119,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:120,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:123,1
    - Dst: fa_make_basic
      Src: /src/augeas/examples/fadot.c:127,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:130,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:130,1
    - Dst: fa_concat
      Src: /src/augeas/examples/fadot.c:131,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:134,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:137,1
    - Dst: fa_make_basic
      Src: /src/augeas/examples/fadot.c:141,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:145,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:145,1
    - Dst: fa_union
      Src: /src/augeas/examples/fadot.c:146,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:149,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:152,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:156,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:156,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:160,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:160,1
    - Dst: fa_intersect
      Src: /src/augeas/examples/fadot.c:161,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:164,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:167,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:171,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:171,1
    - Dst: fa_complement
      Src: /src/augeas/examples/fadot.c:172,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:174,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:177,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:183,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:183,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:184,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:184,1
    - Dst: fa_minus
      Src: /src/augeas/examples/fadot.c:185,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:187,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:190,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:196,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:196,1
    - Dst: fa_example
      Src: /src/augeas/examples/fadot.c:197,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:198,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:200,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:202,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:206,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:206,1
    - Dst: fa_minimize
      Src: /src/augeas/examples/fadot.c:209,1
    - Dst: fopen
      Src: /src/augeas/examples/fadot.c:213,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:214,1
    - Dst: fa_json
      Src: /src/augeas/examples/fadot.c:218,1
    - Dst: fclose
      Src: /src/augeas/examples/fadot.c:219,1
    - Dst: fa_json
      Src: /src/augeas/examples/fadot.c:221,1
    - Dst: strcmp
      Src: /src/augeas/examples/fadot.c:226,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:228,1
    - Dst: fa_compile
      Src: /src/augeas/examples/fadot.c:232,1
    - Dst: strlen
      Src: /src/augeas/examples/fadot.c:232,1
    - Dst: fa_minimize
      Src: /src/augeas/examples/fadot.c:235,1
    - Dst: fa_state_initial
      Src: /src/augeas/examples/fadot.c:242,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:244,1
    - Dst: fa_is_deterministic
      Src: /src/augeas/examples/fadot.c:244,1
    - Dst: fa_state_num_trans
      Src: /src/augeas/examples/fadot.c:247,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:248,1
    - Dst: fa_state_is_accepting
      Src: /src/augeas/examples/fadot.c:248,1
    - Dst: fa_state_trans
      Src: /src/augeas/examples/fadot.c:250,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:251,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:254,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:256,1
    - Dst: fa_state_next
      Src: /src/augeas/examples/fadot.c:258,1
    - Dst: fa_minimize
      Src: /src/augeas/examples/fadot.c:266,1
    - Dst: fopen
      Src: /src/augeas/examples/fadot.c:270,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:271,1
    - Dst: fa_dot
      Src: /src/augeas/examples/fadot.c:275,1
    - Dst: fclose
      Src: /src/augeas/examples/fadot.c:276,1
    - Dst: fa_as_regexp
      Src: /src/augeas/examples/fadot.c:282,1
    - Dst: fprintf
      Src: /src/augeas/examples/fadot.c:284,1
    - Dst: strchr
      Src: /src/augeas/examples/fadot.c:290,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:291,1
    - Dst: isprint
      Src: /src/augeas/examples/fadot.c:292,1
    - Dst: printf
      Src: /src/augeas/examples/fadot.c:293,1
    - Dst: putchar
      Src: /src/augeas/examples/fadot.c:295,1
    - Dst: putchar
      Src: /src/augeas/examples/fadot.c:298,1
    - Dst: free
      Src: /src/augeas/examples/fadot.c:299,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 177
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 57
    functionDepth: 9
    functionLinenumber: 57
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/augeas/examples/fadot.c
    functionUses: 0
    functionsReached:
    - getopt
    - fa_state_initial
    - fa_compile
    - fa_minimize
    - fa_as_regexp
    - fa_example
    - fa_state_trans
    - fa_complement
    - fa_concat
    - fprintf
    - fclose
    - fa_is_deterministic
    - fa_json
    - strcmp
    - isprint
    - usage
    - fa_state_num_trans
    - fa_dot
    - putchar
    - free
    - fa_intersect
    - fa_state_is_accepting
    - fa_union
    - fopen
    - fa_make_basic
    - fa_minus
    - strchr
    - printf
    - strlen
    - fa_state_next
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
Fuzzer filename: /src/augeas_fa_fuzzer.cc
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- jmt.h
- stddef.h
- cutest.h
- assert.h
- limits.h
- lens.h
- stdarg.h
- ctype.h
- fnmatch.h
- memory.h
- setjmp.h
- string
- getopt.h
- glob.h
- fcntl.h
- stdlib.h
- libgen.h
- sys/types.h
- string.h
- list.h
- selinux/selinux.h
- stdio.h
- regex.h
- readline/history.h
- errcode.h
- sys/time.h
- math.h
- locale.h
- sys/stat.h
- info.h
- datadir.h
- transform.h
- libxml/tree.h
- sys/wait.h
- safe-alloc.h
- unistd.h
- syntax.h
- regexp.h
- sfx.h
- stdbool.h
- stdint.h
- errno.h
- augprint.h
- config.h
- argz.h
- ref.h
- augeas.h
- strings.h
- signal.h
- fa.h
- internal.h
- hash.h
- sys/param.h
- readline/readline.h
- pwd.h
report: name
sources:
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/augeas_api_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/augeas_fa_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - escape_match
  - LLVMFuzzerTestOneInput
  source_file: /src/augeas_escape_name_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - asprintf_or_die
  - die_oom
  - CuTestInit
  - CuTestNew
  - CuTestRun
  - CuFailInternal
  - CuFail_Line
  - CuAssert_Line
  - CuAssertStrEquals_LineMsg
  - CuAssertStrNotEqual_LineMsg
  - CuAssertIntEquals_LineMsg
  - CuAssertDblEquals_LineMsg
  - CuAssertPtrEquals_LineMsg
  - CuAssertPtrNotEqual_LineMsg
  - CuSuiteInit
  - CuSuiteNew
  - CuSuiteSetup
  - CuSuiteAdd
  - CuSuiteAddSuite
  - CuSuiteRun
  - string_append
  - CuSuiteSummary
  - CuSuiteDetails
  - CuSuiteFree
  - run
  - should_run
  source_file: /src/augeas/tests/cutest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HUGE_STRING_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/augeas/tests/cutest.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: STRING_MAX
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/augeas/tests/cutest.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - free_tests
  - die
  - skipws
  - findws
  - token
  - inttok
  - errtok
  - looking_at
  - read_tests
  - fail
  - load_module
  - run_one_test
  - run_tests
  - list_for_each
  - main
  source_file: /src/augeas/tests/test-run.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KW_TEST
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/augeas/tests/test-run.c
      type_or_value: '"test"'
    - item_type: preproc_def
      name: KW_PRINTS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/augeas/tests/test-run.c
      type_or_value: '"prints"'
    - item_type: preproc_def
      name: KW_SOMETHING
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/augeas/tests/test-run.c
      type_or_value: '"something"'
    - item_type: preproc_def
      name: KW_USE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/augeas/tests/test-run.c
      type_or_value: '"use"'
    structs:
    - fields:
      - name: '*next'
        type: struct test
      - name: '*name'
        type: char
      - name: '*module'
        type: char
      - name: result
        type: int
      - name: errcode
        type: int
      - name: '*cmd'
        type: char
      - name: '*out'
        type: char
      - name: out_present
        type: bool
      item_type: struct
      name: test
      pos:
        line_end: 63
        line_start: 54
        source_file: /src/augeas/tests/test-run.c
    typedefs: []
    union: []
- function_names:
  - die
  - setup
  - teardown
  - testRemoveNoPermission
  - testSaveNewFile
  - testNonExistentLens
  - testMultipleXfm
  - testMtime
  - testRelPath
  - testDoubleSlashPath
  - testUmask
  - testUmask077
  - testUmask027
  - testUmask022
  - testPathEscaping
  - testSaveNoPermission
  - main
  source_file: /src/augeas/tests/test-save.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_regerror
  - setup
  - teardown
  - list_for_each
  - mark
  - assertAsRegexp
  - make_fa
  - make_good_fa
  - dot
  - testBadRegexps
  - testMonster
  - testChars
  - testManualAmbig
  - testContains
  - testIntersect
  - testComplement
  - testOverlap
  - assertExample
  - testExample
  - assertAmbig
  - assertNotAmbig
  - testAmbig
  - testAmbigWithNuls
  - assertFaAsRegexp
  - testAsRegexp
  - testAsRegexpMinus
  - testRangeEnd
  - testNul
  - testRestrictAlphabet
  - testExpandCharRanges
  - testNoCase
  - testExpandNoCase
  - testNoCaseComplement
  - free_words
  - testEnumerate
  - main
  source_file: /src/augeas/tests/fatest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FA_DOT_DIR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/augeas/tests/fatest.c
      type_or_value: '"FA_DOT_DIR"'
    - item_type: preproc_def
      name: WORD
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/augeas/tests/fatest.c
      type_or_value: '"[a-zA-Z_0-9]+"'
    - item_type: preproc_def
      name: CWS
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/augeas/tests/fatest.c
      type_or_value: '"([ \\n\\t]+|\\/\\*([^\\*]|\\*[^\\/])*\\*\\/)*"'
    - item_type: preproc_def
      name: QUOTED
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/augeas/tests/fatest.c
      type_or_value: '"\"[^\"]*\""'
    - item_type: preproc_def
      name: ELT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/augeas/tests/fatest.c
      type_or_value: '"\\(" WORD "(," CWS WORD "){3}\\)"'
    structs:
    - fields:
      - name: '*next'
        type: struct fa_list
      - name: '*fa'
        type: struct fa
      item_type: struct
      name: fa_list
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/augeas/tests/fatest.c
    typedefs: []
    union: []
- function_names:
  - die
  - setup_hosts
  - setup_hosts_aug
  - setup_writable_hosts
  - setup_unreadable_hosts
  - testDefault
  - testNoLoad
  - testNoAutoload
  - invalidLens
  - testInvalidLens
  - testLoadSave
  - testLoadDefined
  - testDefvarExpr
  - testReloadChanged
  - testReloadDirty
  - testReloadDeleted
  - testReloadDeletedMeta
  - testReloadExternalMod
  - testReloadAfterSaveNewfile
  - testParseErrorReported
  - testPermsErrorReported
  - testLoadExclWithRoot
  - testLoadTrailingExcl
  - testMultipleXfm
  - main
  source_file: /src/augeas/tests/test-load.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - die
  - skipws
  - findws
  - token
  - token_to_eol
  - findpath
  - free_tests
  - read_tests
  - print_pv
  - has_match
  - run_one_test
  - test_rm_var
  - test_defvar_nonexistent
  - test_defnode_nonexistent
  - test_invalid_regexp
  - test_wrong_regexp_flag
  - test_trailing_ws_in_name
  - run_tests
  - list_for_each
  - main
  source_file: /src/augeas/tests/test-xpath.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KW_TEST
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/augeas/tests/test-xpath.c
      type_or_value: '"test"'
    structs:
    - fields:
      - name: '*next'
        type: struct entry
      - name: '*path'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: entry
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/augeas/tests/test-xpath.c
    - fields:
      - name: '*next'
        type: struct test
      - name: '*name'
        type: char
      - name: '*match'
        type: char
      - name: '*entries'
        type: struct entry
      item_type: struct
      name: test
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/augeas/tests/test-xpath.c
    typedefs: []
    union: []
- function_names:
  - CuAssertPositive
  - CuAssertZero
  - CuAssertRetSuccess
  - CuFail
  - CuAssert
  - CuAssertTrue
  - CuAssertStrEquals
  - CuAssertStrEquals_Msg
  - CuAssertStrNotEqual
  - CuAssertIntEquals
  - CuAssertIntEquals_Msg
  - CuAssertDblEquals
  - CuAssertDblEquals_Msg
  - CuAssertPtrEquals
  - CuAssertPtrEquals_Msg
  - CuAssertPtrNotEqual
  - CuAssertPtrNotEqual_Msg
  - CuAssertPtrNotNull
  - CuAssertPtrNotNullMsg
  - SUITE_ADD_TEST
  source_file: /src/augeas/tests/cutest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TEST_CASES
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/augeas/tests/cutest.h
      type_or_value: '1024'
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: function
        type: TestFunction
      - name: failed
        type: int
      - name: ran
        type: int
      - name: '* message'
        type: char
      - name: '*jumpBuf'
        type: jmp_buf
      item_type: struct
      name: CuTest
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/augeas/tests/cutest.h
    - fields:
      - name: count
        type: int
      - name: '* list[MAX_TEST_CASES]'
        type: CuTest
      - name: failCount
        type: int
      - name: setup
        type: TestFunction
      - name: teardown
        type: TestFunction
      item_type: struct
      name: CuSuite
      pos:
        line_end: 117
        line_start: 110
        source_file: /src/augeas/tests/cutest.h
    typedefs:
    - item_type: typedef
      name: (*TestFunction)(CuTest *)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/augeas/tests/cutest.h
      type: void
    union: []
- function_names:
  - die
  - main
  source_file: /src/augeas/tests/leak.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - die
  - testGet
  - testSet
  - testSetM
  - testDefVarMeta
  - testDefNodeExistingMeta
  - testDefNodeCreateMeta
  - reset_indexes
  - testNodeInfo
  - testMv
  - testCp
  - testRename
  - testToXml
  - testTextStore
  - testTextRetrieve
  - testAugEscape
  - testRm
  - testLoadFile
  - testLoadBadPath
  - testLoadBadLens
  - testAugNs
  - testAugSource
  - testAugPreview
  - main
  source_file: /src/augeas/tests/test-api.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPAN_TEST_DEF_LAST
      pos:
        line_end: 323
        line_start: 321
        source_file: /src/augeas/tests/test-api.c
      type_or_value: "{ .expr = NULL, .ls = 0, .le = 0, \\\n        .vs = 0, .ve =
        0, .ss = 0, .se = 0 }"
    structs:
    - fields:
      - name: '*expr'
        type: char
      - name: '*f'
        type: char
      - name: ret
        type: int
      - name: ls
        type: int
      - name: le
        type: int
      - name: vs
        type: int
      - name: ve
        type: int
      - name: ss
        type: int
      - name: se
        type: int
      item_type: struct
      name: span_test_def
      pos:
        line_end: 334
        line_start: 324
        source_file: /src/augeas/tests/test-api.c
    typedefs: []
    union: []
- function_names:
  - die
  - time_taken
  - testPerfPredicate
  - main
  source_file: /src/augeas/tests/test-perf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - list_append
  - list_for_each
  - list_remove
  - list_insert_before
  - list_free
  - list_length
  - list_cons
  - list_reverse
  source_file: /src/augeas/src/list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: if
      pos:
        line_end: 123
        line_start: 112
        source_file: /src/augeas/src/list.h
      type_or_value: "((list) == NULL) {                                           \\\n
        \           (list) = (elt);                                             \\\n
        \       } else {                                                        \\\n
        \           if ((tail) == NULL)                                         \\\n
        \               for ((tail) = (list); (tail)->next != NULL;             \\\n
        \                    (tail) = (tail)->next);                            \\\n
        \           (tail)->next = (elt);                                       \\\n
        \       }                                                               \\\n
        \       "
    structs: []
    typedefs: []
    union: []
- function_names:
  - ref_make_ref
  source_file: /src/augeas/src/ref.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - array_elem
  - array_for_each
  - array_each_elem
  - array_init
  - array_add
  - array_insert
  - array_release
  - array_remove
  - array_join
  - for_each_item
  - for_each_trans
  - parse_state
  - set_item
  - item_state
  - state_trans
  - item_parent
  - is_return
  - lens_of_parse
  - parse_add_item
  - parse_add_complete
  - parse_add_predict_complete
  - parse_add_predict
  - parse_add_scan
  - is_complete
  - is_predict
  - is_scan
  - is_last_sibling
  - returns
  - state_add_return
  - state_merge_returns
  - nncomplete
  - for_each_trans
  - ncaller
  - for_each_trans
  - ncallee
  - for_each_trans
  - parse_init
  - jmt_free_parse
  - flens
  - parse_dot_link
  - parse_dot
  - for_each_item
  - jmt_parse
  - for_each_trans
  - build_nullable
  - build_trace
  - add_sibling
  - is_caller
  - filter_siblings
  - visit_enter
  - visit_exit
  - build_tree
  - build_children
  - jmt_visit
  - make_state
  - add_lens
  - add_new_trans
  - add_eps_trans
  - lens_of_jmt
  - lens_index
  - lens_state
  - print_lens_symbol
  - print_grammar
  - print_grammar_top
  - index_lenses
  - thompson
  - conv
  - conv_concat
  - conv_union
  - conv_star
  - conv_rhs
  - push_state
  - pop_state
  - free_state
  - collect
  - for_each_trans
  - for_each_trans
  - dedup
  - unepsilon
  - is_deterministic
  - free_nfa_state
  - make_nfa_state
  - nfa_state_add
  - nfa_same_set
  - nfa_uniq
  - det_target
  - determinize
  - jmt_build
  - jmt_free
  - jmt_dot
  - for_each_trans
  source_file: /src/augeas/src/jmt.c
  types:
    enum:
    - enumerators:
      - name: EPS
        value: IND_MAX
      - name: LENS_MAX
        value: CALL - 1
      - name: CALL
        value: EPS - 1
      item_type: enum
      name: trans_op
      pos:
        line_end: 158
        line_start: 154
        source_file: /src/augeas/src/jmt.c
    - enumerators:
      - name: R_ROOT
        value: '1'
      - name: R_COMPLETE
        value: R_ROOT << 1
      - name: R_PREDICT
        value: R_COMPLETE << 1
      - name: R_SCAN
        value: R_PREDICT << 1
      item_type: enum
      name: item_reason
      pos:
        line_end: 203
        line_start: 198
        source_file: /src/augeas/src/jmt.c
    preproc_defs:
    - item_type: preproc_def
      name: IND_MAX
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/augeas/src/jmt.c
      type_or_value: UINT32_MAX
    structs:
    - fields:
      - name: elem_size
        type: size_t
      - name: used
        type: ind_t
      - name: size
        type: ind_t
      - name: '*data'
        type: void
      item_type: struct
      name: array
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: '*to'
        type: struct state
      - name: lens
        type: ind_t
      item_type: struct
      name: trans
      pos:
        line_end: 163
        line_start: 160
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: '*next'
        type: struct state
      - name: trans
        type: struct array
      - name: nret
        type: ind_t
      - name: '*ret'
        type: ind_t
      - name: num
        type: ind_t
      - name: reachable
        type: unsigned int
      - name: live
        type: unsigned int
      item_type: struct
      name: state
      pos:
        line_end: 173
        line_start: 165
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: '*state'
        type: struct state
      - name: set
        type: struct array
      item_type: struct
      name: nfa_state
      pos:
        line_end: 179
        line_start: 176
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: '*lens'
        type: struct lens
      - name: '*state'
        type: struct state
      item_type: struct
      name: jmt_lens
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: '*error'
        type: struct error
      - name: lenses
        type: struct array
      - name: '*start'
        type: struct state
      - name: lens
        type: ind_t
      - name: state_count
        type: ind_t
      item_type: struct
      name: jmt
      pos:
        line_end: 196
        line_start: 190
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: reason
        type: enum item_reason
      - name: lens
        type: ind_t
      - name: from_set
        type: ind_t
      - name: from_item
        type: ind_t
      - name: to_item
        type: ind_t
      - name: caller
        type: ind_t
      item_type: struct
      name: link
      pos:
        line_end: 214
        line_start: 207
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: '*state'
        type: struct state
      - name: parent
        type: ind_t
      - name: nlinks
        type: ind_t
      - name: '*links'
        type: struct link
      item_type: struct
      name: item
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: items
        type: struct array
      item_type: struct
      name: item_set
      pos:
        line_end: 227
        line_start: 225
        source_file: /src/augeas/src/jmt.c
    - fields:
      - name: '*jmt'
        type: struct jmt
      - name: '*error'
        type: struct error
      - name: '*text'
        type: char
      - name: nsets
        type: ind_t
      - name: '**sets'
        type: struct item_set
      item_type: struct
      name: jmt_parse
      pos:
        line_end: 235
        line_start: 229
        source_file: /src/augeas/src/jmt.c
    typedefs: []
    union: []
- function_names:
  - to_xml_span
  - to_xml_one
  - to_xml_rec
  - tree_to_xml
  - aug_to_xml
  source_file: /src/augeas/src/xml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup
  - freep
  - aug_closep
  - usage
  - die
  - oom_when
  - format
  - check_error
  - check_load_error
  - print_one
  - print_tree
  - print
  - guess_lens_name
  - main
  source_file: /src/augeas/src/augmatch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_TROUBLE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/augeas/src/augmatch.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*var'
        type: char
      - name: '*label'
        type: char
      - name: index
        type: int
      - name: '*value'
        type: char
      item_type: struct
      name: node
      pos:
        line_end: 176
        line_start: 171
        source_file: /src/augeas/src/augmatch.c
    typedefs: []
    union: []
- function_names:
  - LNS_TYPE_CHECK
  - init_fatal_exn
  - format_error
  - syntax_error
  - fatal_error
  - free_param
  - free_term
  - free_binding
  - free_module
  - free_type
  - free_exn
  - free_value
  - make_term
  - make_param
  - make_value
  - make_unit
  - make_app_term
  - make_app_ident
  - build_func
  - make_closure
  - make_exn_value
  - exn_add_lines
  - exn_printf_line
  - module_create
  - module_find
  - list_for_each
  - bnd_lookup
  - list_for_each
  - modname_of_qname
  - lookup_internal
  - lens_lookup
  - ctx_lookup_bnd
  - ctx_lookup
  - ctx_lookup_type
  - bind_type
  - bind_param
  - unbind_param
  - bind
  - dump_bindings
  - list_for_each
  - dump_module
  - dump_ctx
  - print_tree_braces
  - list_for_each
  - print_value
  - value_equal
  - make_arrow_type
  - make_base_type
  - type_name
  - type_string
  - subtype
  - type_equal
  - type_join
  - type_meet
  - value_type
  - coerce
  - expect_types_arr
  - expect_types
  - native_call
  - type_error1
  - type_error2
  - type_error_binop
  - require_exp_type
  - check_compose
  - check_binop
  - check_value
  - check_exp
  - check_decl
  - typecheck
  - compile_union
  - compile_minus
  - compile_compose
  - compile_concat
  - apply
  - compile_bracket
  - compile_rep
  - compile_exp
  - compile_test
  - compile_decl
  - compile
  - make_native_info
  - define_native_intl
  - module_basename
  - module_filename
  - load_module_file
  - load_module
  - interpreter_init
  source_file: /src/augeas/src/syntax.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUG_EXT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/augeas/src/syntax.c
      type_or_value: '".aug"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*aug'
        type: struct augeas
      - name: '*local'
        type: struct binding
      item_type: struct
      name: ctx
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/augeas/src/syntax.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/augeas/src/augeas.h
  types:
    enum:
    - enumerators:
      - name: AUG_NONE
        value: '0'
      - name: AUG_TYPE_CHECK
        value: (1 << 2)
      - name: AUG_SAVE_BACKUP
        value: (1 << 0)
      - name: AUG_SAVE_NEWFILE
        value: (1 << 1)
      - name: AUG_NO_STDINC
        value: (1 << 3)
      - name: AUG_SAVE_NOOP
        value: (1 << 4)
      - name: AUG_NO_LOAD
        value: (1 << 5)
      - name: AUG_NO_MODL_AUTOLOAD
        value: (1 << 6)
      - name: AUG_ENABLE_SPAN
        value: (1 << 7)
      - name: AUG_NO_ERR_CLOSE
        value: (1 << 8)
      - name: AUG_TRACE_MODULE_LOADING
        value: (1 << 9)
      item_type: enum
      name: aug_flags
      pos:
        line_end: 55
        line_start: 35
        source_file: /src/augeas/src/augeas.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: aug_errcode_t
      pos:
        line_end: 603
        line_start: 586
        source_file: /src/augeas/src/augeas.h
    union: []
- function_names:
  - regexp_escape
  - print_regexp
  - make_regexp_unescape
  - make_regexp
  - make_regexp_from_glob
  - free_regexp
  - regexp_is_empty_pattern
  - make_regexp_literal
  - regexp_union
  - regexp_expand_nocase
  - append_expanded
  - regexp_union_n
  - regexp_concat
  - regexp_concat_n
  - regexp_to_fa
  - regexp_minus
  - regexp_iter
  - regexp_maybe
  - regexp_make_empty
  - regexp_compile_internal
  - regexp_compile
  - regexp_check
  - regexp_match
  - regexp_matches_empty
  - regexp_nsub
  - regexp_release
  source_file: /src/augeas/src/regexp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - put_error
  - enclen
  - encpcpy
  - regexp_match_error
  - free_split
  - make_split
  - list_for_each
  - list_for_each
  - split_append
  - next_split
  - set_split
  - split_concat
  - split_iter
  - applies
  - skel_instance_of
  - emit
  - put_subtree
  - put_del
  - put_union
  - put_concat
  - error_quant_star
  - put_quant_star
  - put_quant_maybe
  - put_store
  - put_rec
  - put_square
  - put_lens
  - create_subtree
  - create_del
  - create_union
  - create_concat
  - create_square
  - create_quant_star
  - create_quant_maybe
  - create_rec
  - create_lens
  - lns_put
  source_file: /src/augeas/src/put.c
  types:
    enum:
    - enumerators:
      - name: S_NONE
      - name: S_VALUE
      - name: S_LABEL
      item_type: enum
      name: span_kind
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/augeas/src/put.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct split
      - name: '*tree'
        type: struct tree
      - name: '*follow'
        type: struct tree
      - name: '*enc'
        type: char
      - name: start
        type: size_t
      - name: end
        type: size_t
      item_type: struct
      name: split
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/augeas/src/put.c
    - fields:
      - name: '*out'
        type: FILE
      - name: '*split'
        type: struct split
      - name: '*tree'
        type: struct tree
      - name: '*override'
        type: char
      - name: '*dict'
        type: struct dict
      - name: '*skel'
        type: struct skel
      - name: '*path'
        type: char
      - name: pos
        type: size_t
      - name: with_span
        type: bool
      - name: '*info'
        type: struct info
      - name: '*error'
        type: struct lns_error
      item_type: struct
      name: state
      pos:
        line_end: 68
        line_start: 56
        source_file: /src/augeas/src/put.c
    typedefs: []
    union: []
- function_names:
  - HAS_ERR
  - ERR_BAIL
  - ERR_RET
  - ERR_NOMEM
  - ERR_REPORT
  - ERR_THROW
  - ARG_CHECK
  - ensure
  - ensure0
  - BUG_ON
  source_file: /src/augeas/src/errcode.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: aug_errcode_t
      - name: minor
        type: int
      - name: '*details'
        type: char
      - name: '*minor_details'
        type: char
      - name: '*info'
        type: struct info
      - name: '*aug'
        type: struct augeas
      - name: '*exn'
        type: struct value
      item_type: struct
      name: error
      pos:
        line_end: 50
        line_start: 32
        source_file: /src/augeas/src/errcode.h
    typedefs: []
    union: []
- function_names:
  - hash_isfull
  - hash_isfull
  - hash_isempty
  - hash_count
  - hash_size
  - hnode_get
  - hnode_getkey
  - hnode_put
  source_file: /src/augeas/src/hash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASHCOUNT_T_MAX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/augeas/src/hash.h
      type_or_value: ULONG_MAX
    - item_type: preproc_def
      name: HASH_VAL_T_MAX
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/augeas/src/hash.h
      type_or_value: ULONG_MAX
    - item_type: preproc_def
      name: HASH_VAL_T_BIT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/augeas/src/hash.h
      type_or_value: ((int) hash_val_t_bit)
    structs:
    - fields: []
      item_type: struct
      name: hnode_t
      pos:
        line_end: 81
        line_start: 72
        source_file: /src/augeas/src/hash.h
    - fields: []
      item_type: struct
      name: hash_t
      pos:
        line_end: 166
        line_start: 148
        source_file: /src/augeas/src/hash.h
    - fields: []
      item_type: struct
      name: hscan_t
      pos:
        line_end: 186
        line_start: 178
        source_file: /src/augeas/src/hash.h
    typedefs:
    - item_type: typedef
      name: hashcount_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/augeas/src/hash.h
      type: unsigned long
    - item_type: typedef
      name: hash_val_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/augeas/src/hash.h
      type: unsigned long
    - item_type: typedef
      name: (*hash_comp_t)(const void *, const void *)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/augeas/src/hash.h
      type: int
    - item_type: typedef
      name: (*hash_fun_t)(const void *)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/augeas/src/hash.h
    - item_type: typedef
      name: '*(*hnode_alloc_t)(void *)'
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/augeas/src/hash.h
    - item_type: typedef
      name: (*hnode_free_t)(hnode_t *, void *)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/augeas/src/hash.h
      type: void
    union: []
- function_names:
  - ENCLEN
  - ENCSTR
  - child_first
  - child_last
  - dump_lens_tree
  source_file: /src/augeas/src/lens.h
  types:
    enum:
    - enumerators:
      - name: L_DEL
        value: '42'
      - name: L_LABEL
      - name: L_STORE
      - name: L_VALUE
      - name: L_KEY
      - name: L_SEQ
      - name: L_COUNTER
      - name: L_CONCAT
      - name: L_UNION
      - name: L_SUBTREE
      - name: L_REC
      - name: L_MAYBE
      - name: L_SQUARE
      - name: L_STAR
      item_type: enum
      name: lens_tag
      pos:
        line_end: 45
        line_start: 30
        source_file: /src/augeas/src/lens.h
    preproc_defs:
    - item_type: preproc_def
      name: ENC_EQ
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/augeas/src/lens.h
      type_or_value: '"\003"'
    - item_type: preproc_def
      name: ENC_SLASH
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/augeas/src/lens.h
      type_or_value: '"\004"'
    - item_type: preproc_def
      name: ENC_NULL
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/augeas/src/lens.h
      type_or_value: '""'
    - item_type: preproc_def
      name: ENC_EQ_CH
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/augeas/src/lens.h
      type_or_value: (ENC_EQ[0])
    - item_type: preproc_def
      name: ENC_SLASH_CH
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/augeas/src/lens.h
      type_or_value: (ENC_SLASH[0])
    - item_type: preproc_def
      name: RESERVED_FROM
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/augeas/src/lens.h
      type_or_value: '"\001"'
    - item_type: preproc_def
      name: RESERVED_TO
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/augeas/src/lens.h
      type_or_value: ENC_SLASH
    - item_type: preproc_def
      name: RESERVED_FROM_CH
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/augeas/src/lens.h
      type_or_value: (RESERVED_FROM[0])
    - item_type: preproc_def
      name: RESERVED_TO_CH
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/augeas/src/lens.h
      type_or_value: ENC_SLASH_CH
    - item_type: preproc_def
      name: RESERVED_RANGE_RX
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/augeas/src/lens.h
      type_or_value: RESERVED_FROM "-" RESERVED_TO
    - item_type: preproc_def
      name: RESERVED_DOT_RX
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/augeas/src/lens.h
      type_or_value: '"[^" RESERVED_RANGE_RX "\n]"'
    structs:
    - fields:
      - name: ref
        type: unsigned int
      - name: tag
        type: enum lens_tag
      - name: '*info'
        type: struct info
      - name: '*ctype'
        type: struct regexp
      - name: '*atype'
        type: struct regexp
      - name: '*ktype'
        type: struct regexp
      - name: '*vtype'
        type: struct regexp
      - name: '*jmt'
        type: struct jmt
      - name: value
        type: unsigned int
      - name: key
        type: unsigned int
      - name: recursive
        type: unsigned int
      - name: consumes_value
        type: unsigned int
      - name: rec_internal
        type: unsigned int
      - name: ctype_nullable
        type: unsigned int
      item_type: struct
      name: lens
      pos:
        line_end: 121
        line_start: 73
        source_file: /src/augeas/src/lens.h
    - fields:
      - name: '*next'
        type: struct skel
      - name: tag
        type: enum lens_tag
      item_type: struct
      name: skel
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/augeas/src/lens.h
    - fields:
      - name: '*lens'
        type: struct lens
      - name: '*last'
        type: struct lens
      - name: '*next'
        type: struct lens
      - name: pos
        type: int
      - name: '*path'
        type: char
      - name: '*message'
        type: char
      item_type: struct
      name: lns_error
      pos:
        line_end: 177
        line_start: 170
        source_file: /src/augeas/src/lens.h
    typedefs: []
    union: []
- function_names:
  - __GNUC_PREREQ
  - __has_builtin
  - AUGEAS_LIKELY
  - AUGEAS_UNLIKELY
  - AUGEAS_LIKELY
  - AUGEAS_UNLIKELY
  - ATTRIBUTE_FORMAT
  - move
  - move
  - ARRAY_CARDINALITY
  - STREQ
  - STRCASEEQ
  - STRCASEEQLEN
  - STRNEQ
  - STRCASENEQ
  - STREQLEN
  - STRNEQLEN
  - streqv
  - pathlen
  - pathprefix
  - pathendswith
  - MEMZERO
  - MEMMOVE
  - FIXME
  - err_of_aug
  - ROOT_P
  - TREE_HIDDEN
  - init_memstream
  - close_memstream
  - debugging
  - debug_fopen
  source_file: /src/augeas/src/internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUGEAS_LENS_DIR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/augeas/src/internal.h
      type_or_value: DATADIR "/augeas/lenses"
    - item_type: preproc_def
      name: AUGEAS_LENS_DIST_DIR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/augeas/src/internal.h
      type_or_value: DATADIR "/augeas/lenses/dist"
    - item_type: preproc_def
      name: AUGEAS_ROOT_ENV
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/augeas/src/internal.h
      type_or_value: '"AUGEAS_ROOT"'
    - item_type: preproc_def
      name: AUGEAS_FILES_TREE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/augeas/src/internal.h
      type_or_value: '"/files"'
    - item_type: preproc_def
      name: AUGEAS_META_TREE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/augeas/src/internal.h
      type_or_value: '"/augeas"'
    - item_type: preproc_def
      name: AUGEAS_META_FILES
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE AUGEAS_FILES_TREE
    - item_type: preproc_def
      name: AUGEAS_META_TEXT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE "/text"
    - item_type: preproc_def
      name: AUGEAS_META_ROOT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE "/root"
    - item_type: preproc_def
      name: AUGEAS_META_SAVE_MODE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE "/save"
    - item_type: preproc_def
      name: AUGEAS_COPY_IF_RENAME_FAILS
      pos:
        line_end: 87
        line_start: 85
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_SAVE_MODE "/copy_if_rename_fails"
    - item_type: preproc_def
      name: AUGEAS_CONTEXT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE "/context"
    - item_type: preproc_def
      name: AUGEAS_EVENTS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE "/events"
    - item_type: preproc_def
      name: AUGEAS_EVENTS_SAVED
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_EVENTS "/saved"
    - item_type: preproc_def
      name: AUGEAS_META_PATHX
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE "/pathx"
    - item_type: preproc_def
      name: AUGEAS_SPAN_OPTION
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/augeas/src/internal.h
      type_or_value: AUGEAS_META_TREE "/span"
    - item_type: preproc_def
      name: AUGEAS_LENS_ENV
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/augeas/src/internal.h
      type_or_value: '"AUGEAS_LENS_LIB"'
    - item_type: preproc_def
      name: MAX_ENV_SIZE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/augeas/src/internal.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: PATH_SEP_CHAR
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/augeas/src/internal.h
      type_or_value: ''':'''
    - item_type: preproc_def
      name: AUG_SAVE_BACKUP_TEXT
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/augeas/src/internal.h
      type_or_value: '"backup"'
    - item_type: preproc_def
      name: AUG_SAVE_NEWFILE_TEXT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/augeas/src/internal.h
      type_or_value: '"newfile"'
    - item_type: preproc_def
      name: AUG_SAVE_NOOP_TEXT
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/augeas/src/internal.h
      type_or_value: '"noop"'
    - item_type: preproc_def
      name: AUG_SAVE_OVERWRITE_TEXT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/augeas/src/internal.h
      type_or_value: '"overwrite"'
    - item_type: preproc_def
      name: AUG_ENABLE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/augeas/src/internal.h
      type_or_value: '"enable"'
    - item_type: preproc_def
      name: AUG_DISABLE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/augeas/src/internal.h
      type_or_value: '"disable"'
    - item_type: preproc_def
      name: AUG_CONTEXT_DEFAULT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/augeas/src/internal.h
      type_or_value: '"/files"'
    - item_type: preproc_def
      name: ATTRIBUTE_UNUSED
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/augeas/src/internal.h
      type_or_value: __attribute__((__unused__))
    - item_type: preproc_def
      name: ATTRIBUTE_PURE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/augeas/src/internal.h
      type_or_value: __attribute__((pure))
    - item_type: preproc_def
      name: ATTRIBUTE_RETURN_CHECK
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/augeas/src/internal.h
      type_or_value: __attribute__((__warn_unused_result__))
    - item_type: preproc_def
      name: ATTRIBUTE_FALLTHROUGH
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/augeas/src/internal.h
      type_or_value: __attribute__ ((fallthrough))
    - item_type: preproc_def
      name: SEP
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/augeas/src/internal.h
      type_or_value: '''/'''
    - item_type: preproc_def
      name: TODO
      pos:
        line_end: 286
        line_start: 283
        source_file: /src/augeas/src/internal.h
      type_or_value: "fprintf(stderr, \"%s:%d Unimplemented block\\n\",\t\t\t\\\n
        \           __FILE__, __LINE__);"
    - item_type: preproc_def
      name: STR_ESCAPES
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/augeas/src/internal.h
      type_or_value: '"\"\\"'
    - item_type: preproc_def
      name: RX_ESCAPES
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/augeas/src/internal.h
      type_or_value: '"/\\"'
    structs:
    - fields:
      - name: '*origin'
        type: struct tree
      - name: '*root'
        type: char
      - name: flags
        type: unsigned int
      - name: '*modules'
        type: struct module
      - name: nmodpath
        type: size_t
      - name: '*modpathz'
        type: char
      - name: '*symtab'
        type: struct pathx_symtab
      - name: '*error'
        type: struct error
      - name: api_entries
        type: uint
      item_type: struct
      name: augeas
      pos:
        line_end: 383
        line_start: 360
        source_file: /src/augeas/src/internal.h
    - fields:
      - name: '*next'
        type: struct tree
      - name: '*parent'
        type: struct tree
      - name: '*label'
        type: char
      - name: '*children'
        type: struct tree
      - name: '*value'
        type: char
      - name: '*span'
        type: struct span
      - name: dirty
        type: bool
      - name: file
        type: bool
      - name: added
        type: bool
      item_type: struct
      name: tree
      pos:
        line_end: 430
        line_start: 417
        source_file: /src/augeas/src/internal.h
    - fields:
      - name: '*stream'
        type: FILE
      - name: '*buf'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: memstream
      pos:
        line_end: 524
        line_start: 520
        source_file: /src/augeas/src/internal.h
    typedefs:
    - item_type: typedef
      name: pathx_errcode_t
      pos:
        line_end: 570
        line_start: 550
        source_file: /src/augeas/src/internal.h
    union: []
- function_names:
  - tree_mark_dirty
  - tree_clean
  - tree_child
  - tree_child_cr
  - tree_path_cr
  - tree_fpath_int
  - tree_fpath
  - tree_fpath_cr
  - tree_find
  - tree_find_cr
  - tree_store_value
  - tree_set_value
  - store_error
  - store_pathx_error
  - pathx_aug_parse
  - tree_root_ctx
  - tree_append
  - tree_append_s
  - tree_from_transform
  - save_locale
  - save_locale
  - restore_locale
  - restore_locale
  - api_entry
  - api_exit
  - init_root
  - init_loadpath
  - init_save_mode
  - aug_init
  - free_tree_node
  - tree_unlink_raw
  - tree_unlink
  - tree_unlink_children
  - tree_mark_files
  - tree_rm_dirty_files
  - tree_rm_dirty_leaves
  - aug_load
  - find_one_node
  - aug_get
  - aug_label
  - record_var_meta
  - aug_defvar
  - aug_defnode
  - tree_set
  - aug_set
  - aug_setm
  - tree_insert
  - aug_insert
  - make_tree
  - make_tree_origin
  - free_tree
  - tree_rm
  - aug_rm
  - aug_span
  - aug_mv
  - tree_copy_rec
  - aug_cp
  - aug_rename
  - aug_match
  - check_save_dup
  - tree_save
  - list_for_each
  - update_save_flags
  - unlink_removed_files
  - aug_save
  - print_one
  - print_rec
  - list_for_each
  - print_tree
  - dump_tree
  - aug_text_store
  - aug_text_retrieve
  - aug_transform
  - aug_escape_name
  - aug_load_file
  - aug_print
  - tree_source
  - aug_source
  - aug_preview
  - aug_close
  - __aug_load_module_file
  - tree_equal
  - aug_ns_attr
  - aug_ns_label
  - aug_ns_value
  - aug_ns_count
  - aug_ns_path
  - aug_error
  - aug_error_message
  - aug_error_minor_message
  - aug_error_details
  source_file: /src/augeas/src/augeas.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUGEAS_META_PATHX_FUNC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/augeas/src/augeas.c
      type_or_value: AUGEAS_META_TREE "/version/pathx/functions"
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_filter
  - free_filter
  - pathbase
  - is_excl
  - is_incl
  - is_regular_file
  - mtime_as_string
  - fnmatch_normalize
  - file_current
  - filter_generate
  - filter_matches
  - make_transform
  - free_transform
  - err_path
  - err_set
  - err_lens_entry
  - store_error
  - add_file_info
  - append_newline
  - file_name_path
  - tree_freplace
  - list_for_each
  - make_lns_info
  - lens_get
  - load_file
  - lens_from_name
  - text_store
  - xfm_lens_name
  - xfm_lens
  - xfm_error
  - transform_validate
  - transform_file_error
  - file_info
  - transform_load
  - transform_applies
  - transfer_file_attrs
  - clone_file
  - strappend
  - file_saved_event
  - lens_put
  - transform_save
  - text_retrieve
  - remove_file
  source_file: /src/augeas/src/transform.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXT_AUGNEW
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/augeas/src/transform.c
      type_or_value: '".augnew"'
    - item_type: preproc_def
      name: EXT_AUGSAVE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/augeas/src/transform.c
      type_or_value: '".augsave"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _xasprintf
  - child_count
  - readline_path_generator
  - readline_command_generator
  - rl_completion_matches
  - rl_crlf
  - rl_replace_line
  - readline_completion
  - get_home_dir
  - quote_detector
  - readline_init
  - help
  - parse_opts
  - print_version_info
  - print_time_taken
  - run_command
  - print_aug_error
  - sigint_handler
  - install_signal_handlers
  - main_loop
  - run_args
  - add_transforms
  - load_files
  - main
  source_file: /src/augeas/src/augtool.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUGTOOL_PROMPT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/augeas/src/augtool.c
      type_or_value: '"augtool> "'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*rl_compentry_func_t(const char *, int)'
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/augeas/src/augtool.c
      type: char
    union: []
- function_names: []
  source_file: /src/augeas/src/info.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ref
        type: ref_t
      - name: '*str'
        type: char
      item_type: struct
      name: string
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/augeas/src/info.h
    - fields:
      - name: '*error'
        type: struct error
      - name: '*filename'
        type: struct string
      - name: first_line
        type: uint16_t
      - name: first_column
        type: uint16_t
      - name: last_line
        type: uint16_t
      - name: last_column
        type: uint16_t
      - name: ref
        type: ref_t
      item_type: struct
      name: info
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/augeas/src/info.h
    - fields:
      - name: '*filename'
        type: struct string
      - name: label_start
        type: uint
      - name: label_end
        type: uint
      - name: value_start
        type: uint
      - name: value_end
        type: uint
      - name: span_start
        type: uint
      - name: span_end
        type: uint
      item_type: struct
      name: span
      pos:
        line_end: 64
        line_start: 56
        source_file: /src/augeas/src/info.h
    typedefs: []
    union: []
- function_names:
  - MIN
  - pathjoin
  - fread_file_lim
  - xfread_file
  - xread_file
  - unescape
  - escape
  - print_chars
  - format_pos
  - print_pos
  - __aug_init_memstream
  - __aug_close_memstream
  - tree_sibling_index
  - list_for_each
  - path_expand
  - path_of_tree
  - cleanstr
  - cleanpath
  - xstrerror
  - xasprintf
  - xstrtoint64
  - calc_line_ofs
  - regexp_c_locale
  - regexp_c_locale
  - debugging
  - debug_fopen
  source_file: /src/augeas/src/internal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_READ_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/augeas/src/internal.c
      type_or_value: (32*1024*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXN
  - define_native
  source_file: /src/augeas/src/syntax.h
  types:
    enum:
    - enumerators:
      - name: A_MODULE
      - name: A_LET
      - name: A_COMPOSE
      - name: A_BIND
      - name: A_UNION
      - name: A_MINUS
      - name: A_CONCAT
      - name: A_APP
      - name: A_VALUE
      - name: A_IDENT
      - name: A_REP
      - name: A_TEST
      - name: A_BRACKET
      - name: A_FUNC
      item_type: enum
      name: term_tag
      pos:
        line_end: 54
        line_start: 39
        source_file: /src/augeas/src/syntax.h
    - enumerators:
      - name: TR_CHECK
      - name: TR_EXN
      - name: TR_PRINT
      item_type: enum
      name: test_result_tag
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/augeas/src/syntax.h
    - enumerators:
      - name: Q_STAR
      - name: Q_PLUS
      - name: Q_MAYBE
      item_type: enum
      name: quant_tag
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/augeas/src/syntax.h
    - enumerators:
      - name: V_STRING
      - name: V_FILTER
      - name: V_TREE
      - name: V_REGEXP
      - name: V_LENS
      - name: V_TRANSFORM
      - name: V_NATIVE
      - name: V_EXN
      - name: V_CLOS
      - name: V_UNIT
      item_type: enum
      name: value_tag
      pos:
        line_end: 156
        line_start: 145
        source_file: /src/augeas/src/syntax.h
    - enumerators:
      - name: T_STRING
      - name: T_REGEXP
      - name: T_LENS
      - name: T_TREE
      - name: T_FILTER
      - name: T_TRANSFORM
      - name: T_ARROW
      - name: T_UNIT
      item_type: enum
      name: type_tag
      pos:
        line_end: 195
        line_start: 186
        source_file: /src/augeas/src/syntax.h
    preproc_defs:
    - item_type: preproc_def
      name: LNS_CHECK_REC_NAME
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/augeas/src/syntax.h
      type_or_value: '"lns_check_rec"'
    structs:
    - fields:
      - name: '*next'
        type: struct term
      - name: ref
        type: unsigned int
      - name: '*info'
        type: struct info
      - name: '*type'
        type: struct type
      - name: tag
        type: enum term_tag
      item_type: struct
      name: term
      pos:
        line_end: 105
        line_start: 68
        source_file: /src/augeas/src/syntax.h
    - fields:
      - name: '*info'
        type: struct info
      - name: ref
        type: unsigned int
      - name: '*name'
        type: struct string
      - name: '*type'
        type: struct type
      item_type: struct
      name: param
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/augeas/src/syntax.h
    - fields:
      - name: argc
        type: unsigned int
      - name: '*type'
        type: struct type
      - name: impl
        type: func_impl
      item_type: struct
      name: native
      pos:
        line_end: 125
        line_start: 121
        source_file: /src/augeas/src/syntax.h
    - fields:
      - name: '*info'
        type: struct info
      - name: seen
        type: unsigned int
      - name: error
        type: unsigned int
      - name: '*message'
        type: char
      - name: nlines
        type: size_t
      - name: '**lines'
        type: char
      item_type: struct
      name: exn
      pos:
        line_end: 140
        line_start: 133
        source_file: /src/augeas/src/syntax.h
    - fields:
      - name: ref
        type: unsigned int
      - name: '*info'
        type: struct info
      - name: tag
        type: enum value_tag
      item_type: struct
      name: value
      pos:
        line_end: 179
        line_start: 160
        source_file: /src/augeas/src/syntax.h
    - fields:
      - name: ref
        type: unsigned int
      - name: tag
        type: enum type_tag
      - name: '*dom'
        type: struct type
      - name: '*img'
        type: struct type
      item_type: struct
      name: type
      pos:
        line_end: 202
        line_start: 197
        source_file: /src/augeas/src/syntax.h
    - fields:
      - name: ref
        type: unsigned int
      - name: '*next'
        type: struct binding
      - name: '*ident'
        type: struct string
      - name: '*type'
        type: struct type
      - name: '*value'
        type: struct value
      item_type: struct
      name: binding
      pos:
        line_end: 210
        line_start: 204
        source_file: /src/augeas/src/syntax.h
    - fields:
      - name: ref
        type: unsigned int
      - name: '*next'
        type: struct module
      - name: '*autoload'
        type: struct transform
      - name: '*name'
        type: char
      - name: '*bindings'
        type: struct binding
      item_type: struct
      name: module
      pos:
        line_end: 219
        line_start: 213
        source_file: /src/augeas/src/syntax.h
    typedefs: []
    union: []
- function_names:
  - make_ref
  - make_ref_err
  - ref
  - unref
  - ref_pin
  source_file: /src/augeas/src/ref.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REF_MAX
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/augeas/src/ref.h
      type_or_value: UINT_MAX
    structs: []
    typedefs:
    - item_type: typedef
      name: ref_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/augeas/src/ref.h
      type: unsigned int
    union: []
- function_names:
  - make_string
  - dup_string
  - free_string
  - format_info
  - print_info
  - typecheck_p
  - free_info
  - make_span
  - free_span
  - print_span
  - update_span
  source_file: /src/augeas/src/info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vreport_error
  - report_error
  - bug_on
  - reset_error
  source_file: /src/augeas/src/errcode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - expensive_assert
  - compute_bits
  - is_power_of_two
  - compute_mask
  - clear_table
  - grow_table
  - shrink_table
  - hash_create
  - hash_set_allocator
  - hash_free_nodes
  - hash_free
  - hash_destroy
  - hash_init
  - hash_scan_begin
  - hash_scan_next
  - hash_insert
  - hash_lookup
  - hash_delete
  - hash_alloc_insert
  - hash_delete_free
  - hash_scan_delete
  - hash_scan_delfree
  - hash_verify
  - hash_isfull
  - hash_isempty
  - hnode_alloc
  - hnode_free
  - hnode_create
  - hnode_init
  - hnode_destroy
  - hnode_put
  - hnode_get
  - hnode_getkey
  - hash_count
  - hash_size
  - hash_fun_default
  - hash_comp_default
  - tokenize
  source_file: /src/augeas/src/hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INIT_BITS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/augeas/src/hash.c
      type_or_value: '4'
    - item_type: preproc_def
      name: INIT_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/augeas/src/hash.c
      type_or_value: "(1UL << (INIT_BITS))\t"
    - item_type: preproc_def
      name: INIT_MASK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/augeas/src/hash.c
      type_or_value: ((INIT_SIZE) - 1)
    - item_type: preproc_def
      name: next
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_next
    - item_type: preproc_def
      name: key
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_key
    - item_type: preproc_def
      name: data
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_data
    - item_type: preproc_def
      name: hkey
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_hkey
    - item_type: preproc_def
      name: table
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_table
    - item_type: preproc_def
      name: nchains
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_nchains
    - item_type: preproc_def
      name: nodecount
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_nodecount
    - item_type: preproc_def
      name: maxcount
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_maxcount
    - item_type: preproc_def
      name: highmark
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_highmark
    - item_type: preproc_def
      name: lowmark
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_lowmark
    - item_type: preproc_def
      name: compare
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_compare
    - item_type: preproc_def
      name: function
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_function
    - item_type: preproc_def
      name: allocnode
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_allocnode
    - item_type: preproc_def
      name: freenode
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_freenode
    - item_type: preproc_def
      name: context
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_context
    - item_type: preproc_def
      name: mask
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_mask
    - item_type: preproc_def
      name: dynamic
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_dynamic
    - item_type: preproc_def
      name: table
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_table
    - item_type: preproc_def
      name: chain
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/augeas/src/hash.c
      type_or_value: hash_chain
    structs: []
    typedefs:
    - item_type: typedef
      name: input_t[256]
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/augeas/src/hash.c
      type: char
    union: []
- function_names: []
  source_file: /src/augeas/src/jmt.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*parse'
        type: struct jmt_parse
      - name: terminal
        type: jmt_traverser
      - name: enter
        type: jmt_traverser
      - name: exit
        type: jmt_traverser
      - name: error
        type: jmt_error
      - name: '*data'
        type: void
      item_type: struct
      name: jmt_visitor
      pos:
        line_end: 49
        line_start: 42
        source_file: /src/augeas/src/jmt.h
    typedefs:
    - item_type: typedef
      name: ind_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/augeas/src/jmt.h
      type: uint32_t
    - item_type: typedef
      name: "(*jmt_traverser)(struct lens *l, size_t start, size_t end,\n                              void
        *data)"
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/augeas/src/jmt.h
      type: void
    - item_type: typedef
      name: "(*jmt_error)(struct lens *lens, void *data, size_t pos,\n                          const
        char *format, ...)"
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/augeas/src/jmt.h
      type: void
    union: []
- function_names:
  - E
  - F
  - bitset_init
  - bitset_clr
  - bitset_set
  - bitset_get
  - bitset_disjoint
  - bitset_free
  - bitset_negate
  - re_unref
  - fa_dot_debug
  - print_char_set
  - print_re
  - release_re_str
  - free_re_str
  - make_re_str
  - re_str_alloc
  - free_trans
  - gut
  - fa_free
  - make_state
  - add_state
  - last_trans
  - for_each_trans
  - add_new_trans
  - add_epsilon_trans
  - for_each_trans
  - set_initial
  - fa_merge
  - state_set_free
  - state_set_init_data
  - state_set_init
  - state_set_expand
  - state_set_pos
  - state_set_push
  - state_set_push_data
  - state_set_index
  - state_set_remove
  - state_set_add
  - state_set_pop
  - state_set_pop_data
  - state_set_find_data
  - state_set_equal
  - state_set_compact
  - state_pair_push
  - state_pair_find
  - ptr_hash
  - pair_hash
  - pair_cmp
  - state_triple_node_free
  - state_triple_init
  - state_triple_push
  - state_triple_thd
  - state_triple_free
  - mark_reachable
  - for_each_trans
  - fa_states
  - fa_accept_states
  - mark_live
  - for_each_trans
  - fa_reverse
  - start_points
  - for_each_trans
  - state_set_hash_contains
  - state_set_hash_uniq
  - state_set_hash_get_state
  - set_hash
  - set_cmp
  - set_destroy
  - state_set_hash_add
  - state_set_hash_free
  - state_set_list_add
  - state_set_list_pop
  - trans_to_cmp
  - trans_intv_cmp
  - reduce
  - collect_trans
  - collect_dead_states
  - collect
  - swap_initial
  - determinize
  - step
  - for_each_trans
  - state_list_add
  - state_list_remove
  - state_list_free
  - INDEX
  - minimize_hopcroft
  - minimize_brzozowski
  - fa_minimize
  - fa_make_empty
  - fa_make_epsilon
  - fa_make_char
  - fa_make_basic
  - fa_is_basic
  - fa_clone
  - for_each_trans
  - union_in_place
  - fa_union
  - concat_in_place
  - fa_concat
  - fa_make_char_set
  - fa_star
  - repeat
  - fa_iter
  - sort_transition_intervals
  - fa_intersect
  - fa_contains
  - add_crash_trans
  - totalize
  - fa_complement
  - fa_minus
  - accept_to_accept
  - fa_overlap
  - fa_equals
  - chr_score
  - str_score
  - string_extend
  - pick_char
  - fa_example
  - for_each_trans
  - fa_enumerate_intl
  - for_each_trans
  - fa_enumerate
  - expand_alphabet
  - alphabet
  - last_chars
  - first_chars
  - is_splittable
  - fa_ambig_example
  - fa_from_re
  - free_re
  - fa_compile
  - fa_nocase
  - fa_is_nocase
  - case_expand
  - make_re
  - make_re_rep
  - make_re_binop
  - make_re_char
  - make_re_char_set
  - more
  - match
  - peek
  - next
  - parse_char
  - add_re_char
  - parse_char_class
  - parse_simple_exp
  - parse_int
  - parse_repeated_exp
  - parse_concat_exp
  - parse_regexp
  - re_binop_count
  - re_binop_store
  - re_union_as_string
  - re_needs_parens_in_concat
  - re_concat_as_string
  - cset_contains
  - re_cset_as_string
  - re_iter_as_string
  - re_as_string
  - convert_trans_to_re
  - for_each_trans
  - add_new_re_trans
  - re_collapse_trans
  - convert_strings
  - for_each_trans
  - fa_as_regexp
  - for_each_trans
  - for_each_trans
  - re_restrict_alphabet
  - fa_restrict_alphabet
  - fa_expand_char_ranges
  - re_case_expand
  - fa_expand_nocase
  - print_char
  - fa_dot
  - for_each_trans
  - fa_json
  - for_each_trans
  - fa_is_deterministic
  - fa_state_initial
  - fa_state_is_accepting
  - fa_state_next
  - fa_state_num_trans
  - fa_state_trans
  source_file: /src/augeas/src/fa.c
  types:
    enum:
    - enumerators:
      - name: UNION
      - name: CONCAT
      - name: CHAR
      - name: ITER
      - name: CSET
      - name: EPSILON
      item_type: enum
      name: re_type
      pos:
        line_end: 180
        line_start: 173
        source_file: /src/augeas/src/fa.c
    - enumerators:
      - name: S_NONE
        value: '0'
      - name: S_SORTED
        value: (1 << 0)
      - name: S_DATA
        value: (1 << 1)
      item_type: enum
      name: state_set_init_flags
      pos:
        line_end: 239
        line_start: 235
        source_file: /src/augeas/src/fa.c
    preproc_defs:
    - item_type: preproc_def
      name: UCHAR_NUM
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/augeas/src/fa.c
      type_or_value: (UCHAR_MAX+1)
    - item_type: preproc_def
      name: UCHAR_MIN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/augeas/src/fa.c
      type_or_value: '0'
    - item_type: preproc_def
      name: UINT_BIT
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/augeas/src/fa.c
      type_or_value: (sizeof(unsigned int) * CHAR_BIT)
    - item_type: preproc_def
      name: FA_DOT_DIR
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/augeas/src/fa.c
      type_or_value: '"FA_DOT_DIR"'
    - item_type: preproc_def
      name: Xs
      pos:
        line_end: 2925
        line_start: 2924
        source_file: /src/augeas/src/fa.c
      type_or_value: '"\001"'
    - item_type: preproc_def
      name: Ys
      pos:
        line_end: 2926
        line_start: 2925
        source_file: /src/augeas/src/fa.c
      type_or_value: '"\002"'
    - item_type: preproc_def
      name: MPs
      pos:
        line_end: 2927
        line_start: 2926
        source_file: /src/augeas/src/fa.c
      type_or_value: Ys Xs "(" Xs "(.|\n))+"
    - item_type: preproc_def
      name: MSs
      pos:
        line_end: 2928
        line_start: 2927
        source_file: /src/augeas/src/fa.c
      type_or_value: Ys Xs "(" Xs "(.|\n))*"
    - item_type: preproc_def
      name: SPs
      pos:
        line_end: 2929
        line_start: 2928
        source_file: /src/augeas/src/fa.c
      type_or_value: '"(" Xs "(.|\n))+" Ys Xs'
    - item_type: preproc_def
      name: SSs
      pos:
        line_end: 2930
        line_start: 2929
        source_file: /src/augeas/src/fa.c
      type_or_value: '"(" Xs "(.|\n))*" Ys Xs'
    structs:
    - fields:
      - name: '*initial'
        type: struct state
      - name: deterministic
        type: int
      - name: minimal
        type: int
      - name: nocase
        type: unsigned int
      - name: trans_re
        type: int
      item_type: struct
      name: fa
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: '*next'
        type: struct state
      - name: hash
        type: hash_val_t
      - name: accept
        type: unsigned int
      - name: live
        type: unsigned int
      - name: reachable
        type: unsigned int
      - name: visited
        type: unsigned int
      - name: tused
        type: size_t
      - name: tsize
        type: size_t
      - name: '*trans'
        type: struct trans
      item_type: struct
      name: state
      pos:
        line_end: 89
        line_start: 77
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: '*to'
        type: struct state
      item_type: struct
      name: trans
      pos:
        line_end: 103
        line_start: 94
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: ref
        type: ref_t
      - name: type
        type: enum re_type
      item_type: struct
      name: re
      pos:
        line_end: 208
        line_start: 184
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: '*rx'
        type: char
      - name: '*rend'
        type: char
      - name: error
        type: int
      - name: no_ranges
        type: unsigned int
      item_type: struct
      name: re_parse
      pos:
        line_end: 217
        line_start: 211
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: '*rx'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: re_str
      pos:
        line_end: 223
        line_start: 220
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: size
        type: size_t
      - name: used
        type: size_t
      - name: sorted
        type: unsigned int
      - name: with_data
        type: unsigned int
      - name: '**states'
        type: struct state
      - name: '**data'
        type: void
      item_type: struct
      name: state_set
      pos:
        line_end: 248
        line_start: 241
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: '*next'
        type: struct state_set_list
      - name: '*set'
        type: struct state_set
      item_type: struct
      name: state_set_list
      pos:
        line_end: 253
        line_start: 250
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: '*first'
        type: struct state_list_node
      - name: '*last'
        type: struct state_list_node
      - name: size
        type: unsigned int
      item_type: struct
      name: state_list
      pos:
        line_end: 1390
        line_start: 1386
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: '*sl'
        type: struct state_list
      - name: '*next'
        type: struct state_list_node
      - name: '*prev'
        type: struct state_list_node
      - name: '*state'
        type: struct state
      item_type: struct
      name: state_list_node
      pos:
        line_end: 1397
        line_start: 1392
        source_file: /src/augeas/src/fa.c
    - fields:
      - name: limit
        type: int
      - name: nwords
        type: int
      - name: '**words'
        type: char
      - name: '*buf'
        type: char
      - name: bsize
        type: size_t
      item_type: struct
      name: enum_intl
      pos:
        line_end: 2685
        line_start: 2679
        source_file: /src/augeas/src/fa.c
    typedefs:
    - item_type: typedef
      name: uchar
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/augeas/src/fa.c
      type: unsigned char
    - item_type: typedef
      name: bitset
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/augeas/src/fa.c
      type: unsigned int
    - item_type: typedef
      name: state_set_hash
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/augeas/src/fa.c
    - item_type: typedef
      name: state_triple_hash
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/augeas/src/fa.c
    union: []
- function_names:
  - ALLOC
  - ALLOC_N
  - REALLOC_N
  - FREE
  source_file: /src/augeas/src/memory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/augeas/src/regexp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ref
        type: unsigned int
      - name: '*info'
        type: struct info
      - name: '*pattern'
        type: struct string
      - name: '*re'
        type: struct re_pattern_buffer
      - name: nocase
        type: unsigned int
      item_type: struct
      name: regexp
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/augeas/src/regexp.h
    typedefs: []
    union: []
- function_names:
  - make_dict
  - free_dict
  - dict_pos
  - dict_expand
  - dict_append
  - dict_lookup
  source_file: /src/augeas/src/ast.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct dict_entry
      - name: '*skel'
        type: struct skel
      - name: '*dict'
        type: struct dict
      item_type: struct
      name: dict_entry
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/augeas/src/ast.c
    - fields:
      - name: '*key'
        type: char
      - name: '*entry'
        type: struct dict_entry
      - name: '*mark'
        type: struct dict_entry
      item_type: struct
      name: dict_node
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/augeas/src/ast.c
    - fields:
      - name: '**nodes'
        type: struct dict_node
      - name: size
        type: uint32_t
      - name: used
        type: uint32_t
      - name: marked
        type: bool
      item_type: struct
      name: dict
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/augeas/src/ast.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/augeas/src/fa.h
  types:
    enum:
    - enumerators:
      - name: FA_EMPTY
      - name: FA_TOTAL
      - name: FA_EPSILON
      item_type: enum
      name: fa_basic
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/augeas/src/fa.h
    - enumerators:
      - name: FA_MIN_HOPCROFT
      - name: FA_MIN_BRZOZOWSKI
      item_type: enum
      name: fa_minimization_algorithms
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/augeas/src/fa.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/augeas/src/augprint.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*simple_tail'
        type: char
      - name: '*value'
        type: char
      - name: '*value_qq'
        type: char
      - name: '*value_re'
        type: char
      - name: '*next'
        type: struct tail
      - name: tail_value_found
        type: unsigned int
      - name: '*tail_value_found_map'
        type: unsigned int
      - name: '*tail_found_map'
        type: unsigned int
      item_type: struct
      name: tail
      pos:
        line_end: 107
        line_start: 98
        source_file: /src/augeas/src/augprint.h
    - fields:
      - name: '*tail'
        type: struct tail
      - name: '*next'
        type: struct tail_stub
      item_type: struct
      name: tail_stub
      pos:
        line_end: 116
        line_start: 113
        source_file: /src/augeas/src/augprint.h
    - fields:
      - name: '*first_tail'
        type: struct tail
      - name: '*matching_positions'
        type: unsigned int
      - name: '*next'
        type: struct subgroup
      item_type: struct
      name: subgroup
      pos:
        line_end: 125
        line_start: 121
        source_file: /src/augeas/src/augprint.h
    - fields:
      - name: '*head'
        type: char
      - name: '*all_tails'
        type: struct tail
      - name: '**tails_at_position'
        type: struct tail_stub
      - name: '**chosen_tail'
        type: struct tail
      - name: '**first_tail'
        type: struct tail_stub
      - name: max_position
        type: unsigned int
      - name: position_array_size
        type: unsigned int
      - name: '*chosen_tail_state'
        type: chosen_tail_state_t
      - name: '*subgroups'
        type: struct subgroup
      - name: '*subgroup_position'
        type: unsigned int
      - name: '*pretty_width_ct'
        type: unsigned int
      - name: '*re_width_ct'
        type: unsigned int
      - name: '*re_width_ft'
        type: unsigned int
      item_type: struct
      name: group
      pos:
        line_end: 156
        line_start: 140
        source_file: /src/augeas/src/augprint.h
    - fields:
      - name: '*head'
        type: char
      - name: '*segment'
        type: char
      - name: '*simplified_tail'
        type: char
      - name: position
        type: unsigned int
      - name: '*group'
        type: struct group
      - name: '*next'
        type: struct path_segment
      item_type: struct
      name: path_segment
      pos:
        line_end: 165
        line_start: 158
        source_file: /src/augeas/src/augprint.h
    - fields:
      - name: '*path'
        type: char
      - name: '*value'
        type: char
      - name: '*value_qq'
        type: char
      - name: '*segments'
        type: struct path_segment
      item_type: struct
      name: augeas_path_value
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/augeas/src/augprint.h
    typedefs:
    - item_type: typedef
      name: chosen_tail_state_t
      pos:
        line_end: 138
        line_start: 127
        source_file: /src/augeas/src/augprint.h
    union: []
- function_names:
  - streqx
  - STATE_ERROR
  - HAS_ERROR
  - free_pred
  - free_step
  - free_locpath
  - free_expr
  - free_nodeset
  - release_value
  - free_state
  - free_pathx
  - make_nodeset
  - ns_add
  - ns_clear_added
  - clone_nodeset
  - make_value
  - clone_value
  - pop_value_ind
  - pop_value
  - push_value
  - push_boolean_value
  - expr_value
  - ensure_arity
  - func_last
  - func_position
  - func_count
  - func_label
  - func_int
  - func_modified
  - func_not
  - nodeset_as_regexp
  - func_regexp_or_glob
  - func_regexp
  - func_regexp_flag
  - func_glob
  - coerce_to_bool
  - calc_eq_nodeset_nodeset
  - calc_eq_nodeset_string
  - eval_eq
  - eval_arith
  - eval_rel
  - eval_and_or
  - eval_else
  - eval_re_match_str
  - eval_union
  - eval_concat_string
  - eval_concat_regexp
  - eval_re_match
  - eval_binary
  - eval_app
  - eval_pred
  - ns_remove
  - ns_filter
  - position_pred
  - position_filter
  - ns_from_locpath
  - eval_filter
  - lookup_var
  - list_for_each
  - eval_var
  - eval_expr
  - check_preds
  - check_filter
  - check_app
  - check_binary
  - check_var
  - check_expr
  - skipws
  - match
  - peek
  - looking_at
  - pop_expr
  - push_expr
  - push_new_binary_op
  - pathx_escape_name
  - backslash_escaped
  - parse_name
  - parse_predicates
  - parse_step
  - make_step
  - parse_relative_location_path
  - parse_location_path
  - parse_number
  - parse_literal
  - parse_function_call
  - parse_var
  - parse_primary_expr
  - looking_at_primary_expr
  - parse_path_expr
  - parse_union_expr
  - parse_multiplicative_expr
  - parse_additive_expr
  - parse_relational_expr
  - parse_equality_expr
  - parse_and_expr
  - parse_or_expr
  - parse_else_expr
  - parse_expr
  - store_error
  - pathx_parse
  - step_matches
  - tree_prev
  - step_root
  - step_first
  - step_next
  - pathx_eval
  - pathx_next
  - pathx_first
  - locpath_search
  - pathx_expand_tree
  - list_for_each
  - step_seq_choose_name
  - pathx_find_one
  - err_of_pathx
  - pathx_error
  - make_symtab
  - free_symtab
  - pathx_get_symtab
  - pathx_symtab_set
  - pathx_symtab_define
  - pathx_symtab_undefine
  - pathx_symtab_assign_tree
  - pathx_symtab_count
  - pathx_symtab_get_tree
  - pathx_symtab_remove_descendants
  - list_for_each
  source_file: /src/augeas/src/pathx.c
  types:
    enum:
    - enumerators:
      - name: T_NONE
        value: '0'
      - name: T_STRING
      - name: T_NUMBER
      - name: T_NODESET
      - name: T_BOOLEAN
      - name: T_REGEXP
      item_type: enum
      name: type
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/augeas/src/pathx.c
    - enumerators:
      - name: E_FILTER
      - name: E_VALUE
      - name: E_VAR
      - name: E_BINARY
      - name: E_APP
      item_type: enum
      name: expr_tag
      pos:
        line_end: 74
        line_start: 68
        source_file: /src/augeas/src/pathx.c
    - enumerators:
      - name: OP_EQ
      - name: OP_LE
      - name: OP_NEQ
      - name: OP_LT
      - name: OP_GT
      - name: OP_GE
      - name: OP_PLUS
      - name: OP_MINUS
      - name: OP_STAR
      - name: OP_AND
      - name: OP_ELSE
      - name: OP_OR
      - name: OP_RE_MATCH
      - name: OP_UNION
      - name: OP_RE_NOMATCH
      item_type: enum
      name: binary_op
      pos:
        line_end: 92
        line_start: 76
        source_file: /src/augeas/src/pathx.c
    - enumerators:
      - name: SELF
      - name: DESCENDANT
      - name: DESCENDANT_OR_SELF
      - name: CHILD
      - name: SEQ
      - name: PARENT
      - name: ANCESTOR
      - name: ROOT
      - name: PRECEDING_SIBLING
      - name: FOLLOWING_SIBLING
      item_type: enum
      name: axis
      pos:
        line_end: 110
        line_start: 99
        source_file: /src/augeas/src/pathx.c
    preproc_defs:
    - item_type: preproc_def
      name: L_BRACK
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/augeas/src/pathx.c
      type_or_value: '''['''
    - item_type: preproc_def
      name: R_BRACK
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/augeas/src/pathx.c
      type_or_value: ''']'''
    - item_type: preproc_def
      name: RET_ON_ERROR
      pos:
        line_end: 360
        line_start: 358
        source_file: /src/augeas/src/pathx.c
      type_or_value: if (state->errcode != PATHX_NOERROR) return
    - item_type: preproc_def
      name: RET0_ON_ERROR
      pos:
        line_end: 363
        line_start: 361
        source_file: /src/augeas/src/pathx.c
      type_or_value: if (state->errcode != PATHX_NOERROR) return 0
    - item_type: preproc_def
      name: STATE_ENOMEM
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/augeas/src/pathx.c
      type_or_value: STATE_ERROR(state, PATHX_ENOMEM)
    structs:
    - fields:
      - name: nexpr
        type: int
      - name: '**exprs'
        type: struct expr
      item_type: struct
      name: pred
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: '*next'
        type: struct step
      - name: axis
        type: enum axis
      - name: '*name'
        type: char
      - name: '*predicates'
        type: struct pred
      item_type: struct
      name: step
      pos:
        line_end: 145
        line_start: 140
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: '*next'
        type: struct pathx_symtab
      - name: '*name'
        type: char
      - name: '*value'
        type: struct value
      item_type: struct
      name: pathx_symtab
      pos:
        line_end: 159
        line_start: 155
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: '*state'
        type: struct state
      - name: '*nodeset'
        type: struct nodeset
      - name: node
        type: int
      - name: '*origin'
        type: struct tree
      item_type: struct
      name: pathx
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: '*steps'
        type: struct step
      item_type: struct
      name: locpath
      pos:
        line_end: 173
        line_start: 171
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: '**nodes'
        type: struct tree
      - name: used
        type: size_t
      - name: size
        type: size_t
      item_type: struct
      name: nodeset
      pos:
        line_end: 179
        line_start: 175
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: tag
        type: enum type
      item_type: struct
      name: value
      pos:
        line_end: 192
        line_start: 183
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: tag
        type: enum expr_tag
      - name: type
        type: enum type
      item_type: struct
      name: expr
      pos:
        line_end: 220
        line_start: 194
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: maxns
        type: unsigned int
      - name: '**ns'
        type: struct nodeset
      - name: '*lp'
        type: struct locpath
      item_type: struct
      name: locpath_trace
      pos:
        line_end: 226
        line_start: 222
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: errcode
        type: pathx_errcode_t
      - name: '*file'
        type: char
      - name: line
        type: int
      - name: '*errmsg'
        type: char
      - name: '*txt'
        type: char
      - name: '*pos'
        type: char
      - name: '*ctx'
        type: struct tree
      - name: ctx_pos
        type: uint
      - name: ctx_len
        type: uint
      - name: '*root_ctx'
        type: struct tree
      - name: '*value_pool'
        type: struct value
      - name: value_pool_used
        type: value_ind_t
      - name: value_pool_size
        type: value_ind_t
      - name: '*values'
        type: value_ind_t
      - name: values_used
        type: size_t
      - name: values_size
        type: size_t
      - name: '**exprs'
        type: struct expr
      - name: exprs_used
        type: size_t
      - name: exprs_size
        type: size_t
      - name: '*locpath_trace'
        type: struct locpath_trace
      - name: '*symtab'
        type: struct pathx_symtab
      - name: '*error'
        type: struct error
      - name: has_else
        type: bool
      item_type: struct
      name: state
      pos:
        line_end: 276
        line_start: 229
        source_file: /src/augeas/src/pathx.c
    - fields:
      - name: '*name'
        type: char
      - name: arity
        type: unsigned int
      - name: type
        type: enum type
      - name: pure
        type: bool
      - name: '*arg_types'
        type: enum type
      - name: impl
        type: func_impl_t
      item_type: struct
      name: func
      pos:
        line_end: 299
        line_start: 292
        source_file: /src/augeas/src/pathx.c
    typedefs:
    - item_type: typedef
      name: value_ind_t
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/augeas/src/pathx.c
      type: uint32_t
    - item_type: typedef
      name: (*func_impl_t)(struct state *state, int nargs)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/augeas/src/pathx.c
      type: void
    union: []
- function_names:
  - usage
  - print_version_info
  - main
  source_file: /src/augeas/src/augparse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - find_def
  - find_opt
  - arg_value
  - nexttoken
  - make_command_opt
  - free_command_opts
  - parseline
  - format_desc
  - format_defname
  - cmd_quit
  - ls_pattern
  - child_count
  - cmd_ls
  - cmd_match
  - cmd_count
  - cmd_rm
  - cmd_mv
  - cmd_cp
  - cmd_rename
  - cmd_set
  - cmd_setm
  - cmd_clearm
  - cmd_span
  - cmd_defvar
  - cmd_defnode
  - cmd_clear
  - cmd_touch
  - cmd_get
  - cmd_label
  - cmd_print
  - cmd_source
  - cmd_preview
  - cmd_context
  - cmd_dump_xml
  - cmd_transform
  - cmd_load_file
  - cmd_save
  - cmd_load
  - cmd_info
  - cmd_ins
  - cmd_store
  - cmd_retrieve
  - err_filename
  - err_get
  - cmd_errors
  - lookup_cmd_def
  - cmd_help
  - aug_srun
  source_file: /src/augeas/src/augrun.c
  types:
    enum:
    - enumerators:
      - name: CMD_NONE
      - name: CMD_STR
      - name: CMD_PATH
      item_type: enum
      name: command_opt_type
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/augeas/src/augrun.c
    preproc_defs:
    - item_type: preproc_def
      name: CMD_OPT_DEF_LAST
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/augeas/src/augrun.c
      type_or_value: '{ .type = CMD_NONE, .name = NULL }'
    structs:
    - fields:
      - name: optional
        type: bool
      - name: type
        type: enum command_opt_type
      - name: '*name'
        type: char
      - name: '*help'
        type: char
      item_type: struct
      name: command_opt_def
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/augeas/src/augrun.c
    - fields:
      - name: '*def'
        type: struct command_def
      - name: '*opt'
        type: struct command_opt
      - name: '*aug'
        type: struct augeas
      - name: '*error'
        type: struct error
      - name: '*out'
        type: FILE
      - name: quit
        type: bool
      item_type: struct
      name: command
      pos:
        line_end: 57
        line_start: 50
        source_file: /src/augeas/src/augrun.c
    - fields:
      - name: '*name'
        type: char
      - name: '*category'
        type: char
      - name: '*opts'
        type: struct command_opt_def
      - name: handler
        type: cmd_handler
      - name: '*synopsis'
        type: char
      - name: '*help'
        type: char
      item_type: struct
      name: command_def
      pos:
        line_end: 68
        line_start: 61
        source_file: /src/augeas/src/augrun.c
    - fields:
      - name: '*next'
        type: struct command_opt
      - name: '*def'
        type: struct command_opt_def
      - name: '*value'
        type: char
      item_type: struct
      name: command_opt
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/augeas/src/augrun.c
    - fields:
      - name: '*name'
        type: char
      - name: '*commands[]'
        type: struct command_def
      item_type: struct
      name: command_grp_def
      pos:
        line_end: 83
        line_start: 80
        source_file: /src/augeas/src/augrun.c
    typedefs:
    - item_type: typedef
      name: (*cmd_handler)(struct command*)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/augeas/src/augrun.c
      type: void
    union: []
- function_names:
  - CHECK_OOM
  - exit_oom
  - cleanup_filepath
  - find_lens_for_path
  - move_tree
  - split_path
  - str_next_pos
  - str_simplified_tail
  - value_cmp
  - find_or_create_group
  - find_or_create_tail
  - append_tail_stub
  - grow_position_arrays
  - add_segment_to_group
  - find_or_create_subgroup
  - str_ischild
  - find_first_tail
  - choose_tail
  - simple_tail_expr
  - output_segment
  - output_path
  - output
  - choose_re_width
  - choose_pretty_width
  - choose_all_tails
  - quote_value
  - regexp_value
  - usage
  - print_version_info
  - main
  source_file: /src/augeas/src/augprint.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PRETTY_WIDTH
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/augeas/src/augprint.c
      type_or_value: '30'
    structs: []
    typedefs: []
    union: []
- function_names:
  - xalloc_oversized
  - mem_alloc_n
  - mem_realloc_n
  source_file: /src/augeas/src/memory.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNIMPL_BODY
  - lns_del
  - lns_store
  - lns_value
  - lns_key
  - lns_label
  - lns_seq
  - lns_counter
  - lns_square
  - exn_lns_error_detail
  - make_exn_lns_error
  - exn_print_tree
  - make_pathx_exn
  - pathx_parse_glue
  - lens_get
  - lens_put
  - tree_set_glue
  - tree_clear_glue
  - tree_insert_glue
  - tree_insa_glue
  - tree_insb_glue
  - tree_rm_glue
  - gensym
  - xform_incl
  - xform_excl
  - xform_transform
  - sys_getenv
  - sys_read_file
  - lns_check_rec_glue
  - pr_string
  - pr_regexp
  - pr_endline
  - pr_tree
  - lns_value_of_type
  - lns_ctype
  - lns_atype
  - lns_vtype
  - lns_ktype
  - lns_fmt_atype
  - rx_match
  - builtin_init
  - DEFINE_NATIVE
  source_file: /src/augeas/src/builtin.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - REG_START
  - REG_END
  - REG_SIZE
  - REG_POS
  - REG_VALID
  - REG_MATCHED
  - SAVE_REGS
  - RESTORE_REGS
  - make_ast
  - free_ast
  - ast_root
  - ast_set
  - ast_append
  - ast_pop
  - print_ast
  - free_lns_error
  - vget_error
  - get_error
  - make_skel
  - free_skel
  - print_skel_list
  - list_for_each
  - print_skel
  - print_dict
  - list_for_each
  - get_expected_error
  - token
  - token_range
  - regexp_match_error
  - no_match_error
  - match
  - free_regs
  - free_seqs
  - find_seq
  - get_seq
  - parse_seq
  - get_counter
  - parse_counter
  - get_del
  - parse_del
  - get_store
  - parse_store
  - get_value
  - parse_value
  - get_key
  - parse_key
  - get_label
  - parse_label
  - get_union
  - parse_union
  - get_concat
  - parse_concat
  - try_match
  - short_iteration_error
  - get_quant_star
  - parse_quant_star
  - get_quant_maybe
  - parse_quant_maybe
  - get_subtree
  - parse_subtree
  - square_match
  - get_square
  - parse_square
  - print_frames
  - top_frame
  - nth_frame
  - push_frame
  - pop_frame
  - dbg_visit
  - get_terminal
  - parse_terminal
  - visit_terminal
  - rec_gen_span
  - visit_enter
  - get_combine
  - parse_combine
  - visit_exit_put_subtree
  - visit_exit
  - visit_error
  - rec_process
  - get_rec
  - parse_rec
  - get_lens
  - init_regs
  - lns_get
  - parse_lens
  - lns_parse
  source_file: /src/augeas/src/get.c
  types:
    enum:
    - enumerators:
      - name: M_GET
      - name: M_PARSE
      item_type: enum
      name: mode_t
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/augeas/src/get.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct seq
      - name: '*name'
        type: char
      - name: value
        type: int
      item_type: struct
      name: seq
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/augeas/src/get.c
    - fields:
      - name: '*info'
        type: struct info
      - name: '*span'
        type: struct span
      - name: '*text'
        type: char
      - name: '*seqs'
        type: struct seq
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      - name: '*error'
        type: struct lns_error
      - name: enable_span
        type: int
      - name: '*regs'
        type: struct re_registers
      - name: nreg
        type: uint
      item_type: struct
      name: state
      pos:
        line_end: 69
        line_start: 45
        source_file: /src/augeas/src/get.c
    - fields:
      - name: '*lens'
        type: struct lens
      - name: '*key'
        type: char
      - name: '*span'
        type: struct span
      item_type: struct
      name: frame
      pos:
        line_end: 93
        line_start: 79
        source_file: /src/augeas/src/get.c
    - fields:
      - name: '*parent'
        type: struct ast
      - name: '**children'
        type: struct ast
      - name: nchildren
        type: uint
      - name: capacity
        type: uint
      - name: '*lens'
        type: struct lens
      - name: start
        type: uint
      - name: end
        type: uint
      item_type: struct
      name: ast
      pos:
        line_end: 107
        line_start: 99
        source_file: /src/augeas/src/get.c
    - fields:
      - name: mode
        type: enum mode_t
      - name: '*state'
        type: struct state
      - name: fsize
        type: uint
      - name: fused
        type: uint
      - name: '*frames'
        type: struct frame
      - name: start
        type: size_t
      - name: lvl
        type: uint
      - name: '*ast'
        type: struct ast
      - name: (*combine)(struct rec_state *, struct lens *, uint)
        type: void
      item_type: struct
      name: rec_state
      pos:
        line_end: 121
        line_start: 109
        source_file: /src/augeas/src/get.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/augeas/src/transform.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ref
        type: unsigned int
      - name: '*next'
        type: struct filter
      - name: '*glob'
        type: struct string
      - name: include
        type: unsigned int
      item_type: struct
      name: filter
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/augeas/src/transform.h
    - fields:
      - name: ref
        type: unsigned int
      - name: '*lens'
        type: struct lens
      - name: '*filter'
        type: struct filter
      item_type: struct
      name: transform
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/augeas/src/transform.h
    typedefs: []
    union: []
- function_names:
  - ltype
  - ltag
  - format_lens
  - BUG_LENS_TAG
  - bug_lens_tag
  - str_to_fa
  - regexp_to_fa
  - make_lens
  - make_lens_unop
  - make_lens_binop
  - make_lens_value
  - lns_make_union
  - lns_make_concat
  - subtree_atype
  - lns_make_subtree
  - lns_make_star
  - lns_make_plus
  - lns_make_maybe
  - square_precise_type
  - lns_make_square
  - make_regexp_from_string
  - restrict_regexp
  - typecheck_prim
  - lns_make_prim
  - disjoint_check
  - typecheck_union
  - ambig_check
  - ambig_concat_check
  - typecheck_concat
  - make_exn_square
  - typecheck_square
  - ambig_iter_check
  - typecheck_iter
  - typecheck_maybe
  - free_lens
  - lens_release
  - enc_format
  - enc_format_indent
  - format_indent
  - format_subtree_atype
  - format_rep_atype
  - format_concat_atype
  - format_union_atype
  - format_rec_atype
  - format_atype
  - lns_format_atype
  - lns_make_rec
  - RTN_BAIL
  - free_prod
  - free_rtn
  - add_state
  - add_trans
  - make_prod
  - prod_for_lens
  - rtn_dot
  - rtn_rules
  - prod_splice
  - rtn_splice
  - rtn_build
  - trans_to_cmp
  - collapse_trans
  - rtn_reduce
  - propagate_type
  - merge_info
  - typecheck_n
  - typecheck
  - rtn_approx
  - exn_multiple_epsilons
  - ctype_nullable
  - lns_check_rec
  - dump_lens_tree
  - dump_lens
  source_file: /src/augeas/src/lens.c
  types:
    enum:
    - enumerators:
      - name: CTYPE
      - name: ATYPE
      - name: VTYPE
      - name: KTYPE
      item_type: enum
      name: lens_type
      pos:
        line_end: 33
        line_start: 31
        source_file: /src/augeas/src/lens.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*to'
        type: struct state
      - name: '*lens'
        type: struct lens
      - name: '*re'
        type: struct regexp
      item_type: struct
      name: trans
      pos:
        line_end: 1441
        line_start: 1437
        source_file: /src/augeas/src/lens.c
    - fields:
      - name: '*next'
        type: struct state
      - name: ntrans
        type: size_t
      - name: '*trans'
        type: struct trans
      item_type: struct
      name: state
      pos:
        line_end: 1447
        line_start: 1443
        source_file: /src/augeas/src/lens.c
    - fields:
      - name: '*lens'
        type: struct lens
      - name: '*start'
        type: struct state
      - name: '*end'
        type: struct state
      item_type: struct
      name: prod
      pos:
        line_end: 1455
        line_start: 1451
        source_file: /src/augeas/src/lens.c
    - fields:
      - name: '*info'
        type: struct info
      - name: nprod
        type: size_t
      - name: '**prod'
        type: struct prod
      - name: '*states'
        type: struct state
      - name: '*exn'
        type: struct value
      - name: lens_type
        type: enum lens_type
      - name: check
        type: unsigned int
      item_type: struct
      name: rtn
      pos:
        line_end: 1470
        line_start: 1459
        source_file: /src/augeas/src/lens.c
    typedefs: []
    union: []
- function_names:
  - dump_match
  - dump_var
  - print_time_taken
  - main
  source_file: /src/augeas/examples/dump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/augeas/examples/fadot.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCHAR_NUM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/augeas/examples/fadot.c
      type_or_value: (UCHAR_MAX+1)
    structs: []
    typedefs: []
    union: []
